我正在尝试使用protobufs序列化一些类。我使用NuGet安装了protobuf-net,使用属性正确装饰了我的代码,一切运行良好。
但是,最终消息将在C#中创建,但在其他环境中消耗,因此我需要从C#创建.proto文件,或者 - 对我来说更合理 - 从.proto文件创建C#代码。
无论我做什么,我都找不到安装在我电脑任何地方的ProtoGen.exe。我还发现了this old post,但是在创建.proto文本文件时没有发生任何类型的事情。手动添加ProtoBufTool也不起作用。
我错过了什么?
答案 0 :(得分:6)
Protogen包含在v1 / 280版本中,或者项目站点提供了单独的VS工具。没有一种方便的方法可以用任何合理的方式将它包含在nuget中(我和MS人员一起检查过两次)。
对于protogen和VS addin,v2的功能没有改变,因此现有的v1二进制文件仍可以用于v2。
如果ProtoBufTool没有工作那么......我不知道那是什么;有没有错误信息/警告?经典警告是关于输入文件的编码(“protoc”,谷歌的工具,对编码非常挑剔)。