首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >System.IO.FileLoadException:无法加载文件或程序集'System.Runtime.CompilerServices.Unsafe,Version=4.0.4.1

System.IO.FileLoadException:无法加载文件或程序集'System.Runtime.CompilerServices.Unsafe,Version=4.0.4.1
EN

Stack Overflow用户
提问于 2022-10-13 12:03:34
回答 1查看 111关注 0票数 0

我一直在使用Mailkit 2.15,现在试图升级到v3.4.1。升级时,安装了它的所有依赖项,包括System.Runtime.CompilerServices.Unsafe v4.5.3。但是,当我执行代码时,会出现以下异常。

代码语言:javascript
运行
复制
13-Oct-2022 16:33:19,303 [INFO ] Mail SendEmail       - System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Span`1..ctor(T[] array)
   at MimeKit.Utils.ValueStringBuilder..ctor(Int32 initialCapacity)
   at MimeKit.Utils.Rfc2047.Encode(FormatOptions options, Encoding charset, String text, Boolean phrase)
   at MimeKit.Header.EncodeUnstructuredHeader(ParserOptions options, FormatOptions format, Encoding encoding, String field, String value)
   at MimeKit.Header.EncodeAddressHeader(ParserOptions options, FormatOptions format, Encoding encoding, String field, String value)
   at MimeKit.Header.FormatRawValue(FormatOptions format, Encoding encoding, String value)
   at MimeKit.Header.SetValue(FormatOptions format, Encoding encoding, String value)
   at MimeKit.Header..ctor(Encoding encoding, HeaderId id, String value)
   at MimeKit.HeaderList.set_Item(HeaderId id, String value)
   at MimeKit.MimeMessage..ctor()

当我进一步研究时,我注意到MimeKit需要System.Memory,而System.Memory需要安装的System.Runtime.CompilerServices.Unsafe v4.5.3。但我不知道为什么System.Runtime.CompilerServices.Unsafe,Version=4.0.4.1仍然是必需的。

注意:在Mailkit 3.4.1升级之前,我的项目不依赖于System.Runtime.CompilerServices.Unsafe,也没有在参考资料中列出。

EN

回答 1

Stack Overflow用户

发布于 2022-11-23 15:04:57

这个问题显然是核心MSBuild目标中的一个已知错误,可能是因为System.Runtime.CompilerServices.Unsafe使用的版本控制方案不一致。我不太清楚问题出在哪里。听起来这个问题在MSBuild目标的新版本( Visual的更新版本?)中也得到了修正。

在任何情况下,向项目中添加以下App.Config文件都可以解决程序集解析的问题:

代码语言:javascript
运行
复制
<dependentAssembly>
    <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="4.0.4.1" />
</dependentAssembly>

另一种可能是尝试升级Visual (虽然我不确定这是否有效)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74055461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档