2015-07-10 15 views
0

我试图使用由Jon Skeet在Unity项目上开发的Protobuf C#端口,但是当我尝试构建和运行独立版时,我一直收到错误。我已将所有.dll文件复制到资产中,并且在开发者环境中运行统一时运行顺畅,但只要我编译和构建,就会收到有关“文件名未知”的错误。Unity Standalone Probobuf C#端口

error image

我还没有设法找到一个解决方案,因为它似乎是大多数人遇到使用马克·Gravell的版本的Protobuf的类似问题。我想坚持使用我现在使用的版本,因为我将为这个项目使用多种语言。

任何帮助,非常感谢。

- 解决方案 -

事实证明,我不得不去编辑>项目设置>播放器和2.0子集改变NET版本为2.0

+1

请提供代码 –

回答

0

我经常发现类型的初始化异常发生的原因的项目参考问题。两种最常见的原因:

  1. 针对.NET比库的新版本构建应用程序被引用(如图书馆的Protobuf可能已经对编译.NET 4中,而应用程序正在建立针对.NET 4.5 )。您可以尝试通过针对与您的项目相同的.NET版本重新编译Protobuf库来解决此问题。

  2. 编译器假定存在引用,但在运行时不是。您可以通过向特定库的引用(在这种情况下,.NET库与RegEx对象,它通常是System.dll中)解决此问题

+0

太感谢你了!你对项目的可比性问题是正确的。有了这个信息,我能够找到我需要解决的问题。原来,Unity有NET 2的一个子集,我不得不将它切换到完整版本。 – user1858293