【问题标题】:TypeLoadException : Could not resolve type (from typeref, class/assembly System.IO.Stream, System.Runtime, Version=4.2.2.0, Culture=neutral)TypeLoadException:无法解析类型(来自 typeref、类/程序集 System.IO.Stream、System.Runtime、Version=4.2.2.0、Culture=neutral)
【发布时间】:2021-06-24 05:55:48
【问题描述】:

TypeLoadException:无法解析带有令牌 xx 的类型(来自 typeref、类/程序集 System.IO.Stream、System.Runtime、Version=4.2.2.0、Culture=neutral、PublicKeyToken=xx)

我是 c# 和 Unity 的新手

我使用 .Net Core 3.1

使用 Visual Studio 创建了 dll

Unity 中使用 dll(使用 .Net 4.x)

我可以成功运行正常代码。但, 在 dll 代码中使用 GetResponseStream() 时,我在 Unity 中收到此错误。

我的库项目和 Unity 项目中使用的版本是否兼容? 如何在我的 c# 项目中成功使用 Stream 读取代码?

我只是在 Unity 项目中复制 dll,是否还需要复制其他内容?

【问题讨论】:

标签: c# .net visual-studio unity3d typeloadexception


【解决方案1】:

您需要将代码重新编译为 .NET Framework 4.x DLL 而不是 .NET core 3.1 DLL。 Unity 不支持 .NET Core 配置文件。

从技术上讲,.NET Standard 2.0 也受支持,具体取决于您所针对的 Unity 版本,但在较新的版本中已弃用/删除。

供参考:https://docs.unity3d.com/2019.1/Documentation/Manual/dotnetProfileSupport.html

【讨论】:

  • 感谢@raybarrera 的回答。我现在正在使用 .NET Framework,它的工作原理只剩下一个问题。我在我的接口类中使用了静态函数。如果我没有将定义放在接口中,它会给出错误,因为 方法必须声明一个主体,因为它没有标记为抽象、外部或部分,如果我声明一个主体,它会给出错误 错误 CS8701:目标运行时不支持默认接口实现。 (CS8701) 你能帮我解决这个问题吗?
  • 您使用的是哪个版本的 Unity?我认为 C# 8 支持(静态接口)仅在 Unity 2020.2 之前可用,在此之前支持的最大版本为 7.3。
猜你喜欢
  • 2022-11-08
  • 2022-08-14
  • 2017-03-29
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多