首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原型网代码生成器

原型网代码生成器
EN

Stack Overflow用户
提问于 2014-08-22 17:48:17
回答 2查看 6.2K关注 0票数 3

我正在将Google集成到我的项目中,protoc.exe用于windows是如何生成用于序列化/反序列化的头文件和源文件的。我需要protobuf.net代码生成器。因此,例如,如果我是一个类人,我首先需要在.proto文件中定义它。然后,当我在上面运行protoc.exe时,它会给我.h和.c文件。但是,我必须手动为Person类执行以下操作:

代码语言:javascript
复制
[ProtoContract]
class Person {
    [ProtoMember(1)]
    public int Id {get;set;}
    [ProtoMember(2)]
    public string Name {get;set:}
    [ProtoMember(3)]
    public Address Address {get;set;}
}
[ProtoContract]
class Address {
    [ProtoMember(1)]
    public string Line1 {get;set;}
    [ProtoMember(2)]
    public string Line2 {get;set;}
}

我要一切都自动化。因此,从技术上讲,我希望为类Person提供.proto文件,并获得上面的输出作为回报。我不想做体力活。我自己能写那个工具。但是,如果已经有一个被广泛使用的工具,我宁愿使用那个工具,而不是重新发明轮子。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-23 00:01:48

这里有一个C#原型生成器:

https://code.google.com/p/protobuf-csharp-port/wiki/ProtoGen

它可以从protoc.exe获取protobin输出,也可以获取.proto文件并透明地为您调用protoc,然后将输出转换为C#。它是开放源码的,所以如果您需要调整它如何生成类,您可以。

票数 2
EN

Stack Overflow用户

发布于 2022-03-07 18:57:37

.NET 5有一个grpc模板,因此您可以使用dotnet new grpc创建一个新项目。它包含一个grpc服务器。如果您在生成的项目中修改greet.proto文件中的greet.proto消息并再次编译,您将看到一个HelloRequest类是新生成的。该项目引用了Grpc.AspNetCore nuget包。

Grpc.AspNetCore是一个元包,它引用了:

  • Grpc.AspNetCore.Server:用于.NET的gRPC服务器库。
  • Grpc.Tools:代码生成工具包.
  • Google.Protobuf: Protobuf序列化库。

(见Grpc.AspNetCore)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25452839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档