C# 如何在Windows下在Mono上构建protobuf csharp端口

C# 如何在Windows下在Mono上构建protobuf csharp端口,c#,windows,mono,protocol-buffers,C#,Windows,Mono,Protocol Buffers,我已经阅读了在Linux/Unix系统下使用Mono构建的说明。我仍然不能让它工作,最终我会打开一个线程问为什么,但这不是本文的问题 我正在使用Windows进行开发,我已经成功地使用VS2010构建了protobuf csharp端口。事实上,我需要使用从内部Unity3D生成的C#类,这需要使用Mono 我的机器上安装了Mono 2.8 问题是: 是否可以使用MonoDevelop在Windows中构建protobuf csharp端口?我试图简单地导入VS2010解决方案并使用Mono编译

我已经阅读了在
Linux/Unix
系统下使用
Mono
构建的说明。我仍然不能让它工作,最终我会打开一个线程问为什么,但这不是本文的问题

我正在使用
Windows
进行开发,我已经成功地使用
VS2010
构建了protobuf csharp端口。事实上,我需要使用从内部
Unity3D
生成的C#类,这需要使用Mono

我的机器上安装了Mono 2.8

问题是:

是否可以使用
MonoDevelop
在Windows中构建
protobuf csharp端口
?我试图简单地导入VS2010解决方案并使用Mono编译它,但它不起作用

我怎么做

编辑

在尝试使用MonoDevelop简单地编译VS解决方案时,我遇到了几个错误。第一个在
FieldMappingAttribute.cs
的以下行中:

 public MappedType MappedType { get; private set; }
错误如下:

FieldMappingAttribute.cs(40,40):错误CS0501: 'Google.ProtocolBuffers.Descriptors.FieldMappingAttribute.MappedType.get' 必须声明主体,因为它未标记为抽象或外部 (CS0501)(协议缓冲区)


您不需要自己构建主protobuf csharp端口项目。。。或者,如果你这样做了,你应该能够做到这一点很少

您不需要重建protobuf csharp端口来构建生成的C#类。只需添加对Google.ProtocolBuffers.dll的引用,就可以了


也就是说,我已经有一段时间没有在Mono上测试它了。它不会做任何非常棘手的事情,但您肯定应该彻底测试。

这个错误听起来像是在使用C#2编译器。你应该至少使用一个C#3编译器。这样我就可以在Mono项目中引用使用VS2010构建的dll了?@Heisenbug:绝对可以。这就是.NET程序集可移植的要点:)(事实上,随着野田佳彦时代的到来,我看到了运行mono构建的程序集时出现的问题,这些问题通过运行VS构建的程序集得到了解决。)噢,哇。。我没有意识到这一点。所以我想我使用你的VS2010项目,只是简单地链接DLL。@Heisenbug:是的,没错。如果可以,请始终使用预构建的二进制文件:)最后一个问题。我在Unity3d下编译时仍然有这个错误。错误CS0400:在全局命名空间中找不到类型或命名空间名称“Google”(是否缺少程序集引用?)。我添加了对Google.ProtocolBuffers.dll的引用。我是否必须添加其他DLL引用?