You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用含MimeKit的类库创建MimeMessage时抛出文件未找到异常的解决方法

解决System.Runtime.CompilerServices.Unsafe程序集版本不匹配问题

出现这个问题是因为.NET Framework的程序集绑定机制在运行时试图加载旧版本的System.Runtime.CompilerServices.Unsafe(4.0.4.1),但你的项目实际依赖的是6.0.0版本,导致版本冲突。可以通过以下几种方式解决:

  • 添加程序集绑定重定向
    在控制台项目的app.config文件中,添加程序集绑定重定向配置,告诉CLR用已安装的6.0.0版本替代旧版本:

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    

    注意:如果app.config中已有<runtime>或<assemblyBinding>节点,只需将<dependentAssembly>部分合并进去即可。

  • 直接安装对应版本的NuGet包
    在控制台项目中安装System.Runtime.CompilerServices.Unsafe 6.0.0版本的NuGet包,确保项目直接引用正确版本的程序集,同时NuGet会自动帮你生成程序集绑定重定向配置。

  • 检查项目引用并清理旧版本
    右键控制台项目 → 管理NuGet程序包,查看已安装的System.Runtime.CompilerServices.Unsafe版本,确保是6.0.0;如果存在旧版本引用,先卸载旧版本再安装6.0.0版本。同时清理项目的bin和obj目录,避免残留旧版本程序集。

内容的提问来源于stack exchange,提问作者brendan davton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:33:17