如何使用protobuf-csharp-port从单个.proto文件生成多个文件?

时间:2011-10-11 05:41:37

标签: file protocol-buffers

我使用protobuf-csharp-port为wp7生成一个c#文件。

我的.protp文件有很多消息,最后生成一个大约100'000行的.cs文件。它非常大。我想知道我是否可以为一条消息生成一个.cs文件。

我在旧版本的protobuf-csharp-port中找到了选项csharp_multiple_files,现在它已经消失了。我还可以使用当前版本(2.3.0.277)生成多个文件吗?我还在csharp_options.proto中找到了选项multiple_file,但是据说这个选项目前还没有被尊重。

我想它可以生成多个文件,但我不知道如何。

感谢。

1 个答案:

答案 0 :(得分:2)

从我记忆中看,这个选项实际上已经有很长一段时间了。使其工作需要付出巨大的努力,而且正如Marc所暗示的那样,无论如何生成单个文件几乎总是更方便。编辑:正如马克所说,这不太可能有任何速度影响。 (它当然当然只是在开发过程中 - 它不会影响执行时的性能。)如果需要很长时间来构建,你可能想要实验将生成的源放入自己的项目中; C#编译器会进行一些渐进式编译,以避免重建尚未更改的文件,我相信,但它可能会在项目级别更好地工作。

我决定(或者可能是我的一个合作者)确定最好完全删除该选项,因为我们不支持它,而不是让它在那里什么都不做。没有任何坚定的理由来实施它,我们不想花时间让它发挥作用。

道歉,如果你是少数几个有意义的人之一 - 当然欢迎补丁 - 但我不能看到我们很快就实施它。

当然,您可以使用多个.proto文件和导入(只要您可以避免循环)。