【问题标题】:Unity error CS1705: which has a higher version than referenced assemblyUnity 错误 CS1705:其版本高于引用的程序集
【发布时间】: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 版本,然后以您想要使用的版本为目标。

标签: c# .net unity3d


【解决方案1】:

我建议您在 .Net Standard 2.0 项目中构建 DLL。在您的 Visual Studio 解决方案中,创建一个新项目并选择 .Net Standard 2.0 Library 作为项目类型。将您的代码移到那里。您仍然可以拥有一个引用该程序集的 6.0 EXE 项目,然后您还可以在包括 Unity 在内的任何地方使用该程序集。

【讨论】:

    【解决方案2】:

    我在 2019 Visual Studio 中运行 2017 MVC 项目并遇到相同的错误

    错误 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'

    【讨论】:

      猜你喜欢
      • 2012-03-02
      • 1970-01-01
      • 2018-09-30
      • 2015-02-09
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多