我正在尝试使用protobuf对一些类进行序列化。我使用NuGet安装了protobuf-net,并使用属性正确地装饰了我的代码,一切都很顺利。
然而,最终消息将在C#中创建,但在其他环境中使用,因此我需要从C#创建.proto文件,或者更合理的是从.proto文件创建C#代码。
无论我做什么,我都找不到在计算机上安装的ProtoGen.exe。我还发现了这篇旧文章,但当我创建.proto文本文件时并没有类似的事情发生。手动添加ProtoBufTool也没有起作用。
我错过了什么?
我正在尝试使用protobuf对一些类进行序列化。我使用NuGet安装了protobuf-net,并使用属性正确地装饰了我的代码,一切都很顺利。
然而,最终消息将在C#中创建,但在其他环境中使用,因此我需要从C#创建.proto文件,或者更合理的是从.proto文件创建C#代码。
无论我做什么,我都找不到在计算机上安装的ProtoGen.exe。我还发现了这篇旧文章,但当我创建.proto文本文件时并没有类似的事情发生。手动添加ProtoBufTool也没有起作用。
我错过了什么?
Protogen已经包含在v1/280版本中,或可以从项目网站获取单独的VS工具。没有方便的方法以任何明智的方式将其包含在nuget中(我与微软的工作人员核实过两次)。
对于protogen和VS插件,其功能在v2中并未更改,因此现有的v1二进制文件仍可用于v2。
如果ProtoBufTool无法正常工作,则......我不知道出了什么问题;是否出现任何错误消息/警告?经典的警告是关于输入文件的编码("protoc",Google的工具,非常挑剔)。