在预构建事件中使用protogen从.proto文件生成c#文件

时间:2012-05-10 16:04:37

标签: protocol-buffers protobuf-net

我们一直在使用protobuf工作一段时间,我决定为客户端编写一个小控制台应用程序,以便他们在现场进行一些测试。

我启动了一个新的c#控制台应用,并从nuget下载了google.protocolbuffers和protobuf-net。

我想要实现的是将“messages.proto”文件转换为“messages.cs”

我试图让protobuf在prebuild事件上构建消息文件但是没有成功,看起来命令参数自我们第一次实现以来已经改变了。我按照这里的例子

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

并添加了以下预构建事件

"$(projectdir)packages\Google.ProtocolBuffers.2.4.1.473\tools\protogen.exe" --proto_path=./protos protos/messages.proto --include_imports -output_directory=./

但是我收到以下错误

Input file protos/messages.proto doesn't exist.

我尝试了各种组合,但似乎没有任何效果。我接近这一切都错了还是有问题?任何帮助非常感谢!

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用绝对路径?我隐约记得自己有一个类似的问题,结果证明它没有正确解决相对路径。