【发布时间】:2022-11-04 13:00:58
【问题描述】:
我有一个用 .NET 6 制作的 .dll,我想将它用作 Linux 上 Unity 项目的依赖项,并使用 mono 作为编译器。问题是当 Unity 加载 .dll 时会引发此错误:
错误 CS1705:具有标识“DominoEngine,版本=1.0.0.0,文化=中性,PublicKeyToken=null”的程序集“DominoEngine”使用“System.Runtime,版本=6.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”版本比引用的程序集 'System.Runtime' 标识为 'System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
我见过有类似问题的人,但我无法找到解决方案
【问题讨论】:
-
使用等于或低于统一版本的 .Net 框架版本编译您的 dll。错误非常简单。您正在使用
System.Runtime, Version=6.0.0.0,它高于参考版本'System.Runtime, Version=4.1.2.0 -
最好的编译方式是始终使用最新的 Net 版本,然后以您想要使用的版本为目标。