我已阅读构建说明 protobuf-csharp-port在Linux/Unix
系统下使用Mono
。我仍然无法让它工作,最终我会打开一个线程来询问原因,但这不是这篇文章的问题。
我使用 Windows
进行开发,并使用 VS2010
成功构建了 protobuf-csharp-port。事实上,我需要使用从 Unity3D
内部生成的 C# 类,这需要使用 Mono。
我的计算机上安装了 Mono 2.8。
问题是:
可以使用 MonoDevelop
在 Windows 中构建 protobuf-csharp-port
吗?我尝试简单地导入 VS2010 解决方案并使用 Mono 编译它,但它不起作用。
我该怎么做?
编辑
在尝试使用 MonoDevelop 简单编译 VS 解决方案时,我遇到了几个错误。第一个位于 FieldMappingAttribute.cs
的以下行中:
public MappedType MappedType { get; private set; }
错误如下:
FieldMappingAttribute.cs(40,40): Error CS0501: 'Google.ProtocolBuffers.Descriptors.FieldMappingAttribute.MappedType.get' must declare a body because it is not marked abstract or extern (CS0501) (ProtocolBuffers)
最佳答案
您不需要自己构建主 protobuf-csharp-port 项目...或者如果您这样做,您应该很少能够这样做。
您不需要仅仅为了构建生成的C#类而重建protobuf-csharp-port。只需添加对 Google.ProtocolBuffers.dll 的引用,就可以了。
也就是说,我已经有一段时间没有在 Mono 上测试它了。它不会做任何极其棘手的事情,但您绝对应该彻底测试。
关于c# - 如何在Windows下的Mono上构建protobuf-csharp-port,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13649545/