![]() |
1
8
调用预构建步骤,但使用项目变量(例如。
根据我过去的代码生成器的经验,您可能需要考虑的一件事是:您可能要为Pr原生境编写一个包装器,它将代码生成到不同的位置,然后检查新生成的代码是否与旧代码相同,如果不这样,则不重写。这样VisualStudio就不会意识到什么都没有改变,也不会强制重新构建该项目——这缩短了构建时间 戏剧性地 过去对我来说。 或者,您可以在最后一次执行protogen时保留.proto文件的md5哈希,并且仅在.proto文件发生更改时执行protogen—在每次构建时更不用说了! 不过,感谢您将此作为一个问题提出—它清楚地建议我应该找到一种方法,使其成为我自己的端口的一个简单的预构建步骤。 |
![]() |
2
8
作为Shaun代码的扩展,我很高兴地宣布protobuf net现在通过一个定制工具与Visual Studio集成。msi安装程序可从 project page . 更多完整信息请点击此处: protobuf-net; now with added Orcas .
|
![]() |
3
6
将以下预构建事件添加到项目设置中,以仅在.proto文件发生更改时生成C#文件。替换
这适用于任何最新版本的Visual Studio,而protobuf net自定义构建工具不支持Visual Studio 2012或Visual Studio 2013 338 413 . |
![]() |
4
6
将其添加到相关的项目文件中。 优势,增量构建。 缺点是,添加文件时需要手动编辑。
|
![]() |
5
5
嗯,这给了我一个想法(关于重新发明轮子的想法)。。。
.SUFFIXES : .cs .proto .proto.cs: protogen\protogen.exe -i:$? -o:$@ -t:protogen\csharp.xlst
.SUFFIXES : .cs .proto all: mycs1.cs myotherfile.cs .proto.cs: protogen\protogen.exe -i:$? -o:$@ -t:protogen\csharp.xlst
cd $(ProjectDir) && "$(DevEnvDir)..\..\vc\bin\nmake" /NOLOGO -c -f Makefile.mak mycs1.cs myotherfile.cs
cd $(ProjectDir) && nmake /NOLOGO -c -f Makefile.mak mycs1.cs myotherfile.cs |
![]() |
6
2
我已经在ProtoGen.exe的Google代码页上附加了一个快速而肮脏的Visual Studio自定义工具包装器( http://code.google.com/p/protobuf-net/issues/detail?id=39
|
![]() |
coolk · 如何使protobuf不区分大小写? 7 年前 |
![]() |
Lolo · 如何解析protobuf文件中缺少引号的字符串字段? 7 年前 |
![]() |
Cae Vecchi · 在自己的proto上导入供应商proto 7 年前 |
![]() |
mbalug · 为ARM编译c++源代码 7 年前 |
![]() |
FraserOfSmeg · 使用。vb中的proto文件。网 7 年前 |