【问题标题】:'Could not load file or assembly' exception when running as a console app作为控制台应用程序运行时出现“无法加载文件或程序集”异常
【发布时间】:2018-02-19 16:25:45
【问题描述】:

我有一个新的 .NET Core 2.0 控制台应用程序。每当我尝试添加 NuGet 包时,例如说 Newtonsoft.Json,程序启动时都会出现以下异常:

System.IO.FileLoadException:'无法加载文件或程序集'System.Threading,版本 = 4.1.0.0,文化 = 中性,PublicKeyToken = b03f5f7f11d50a3a'。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)'

这以某种方式发生在 System.Console.ReadLine() 上,当我删除 Newtonsoft.Json 包时,一切正常。现在,Newtonsoft.Json 只是一个例子,我可以添加 System.Data.SqlClient 并且会发生同样的事情。有时无法加载与上述异常中提到的程序集不同的程序集。

我已包含该项目。此外,我可以轻松重现此问题,因为我已经无数次创建新的 .NET Core 2.0 控制台应用程序来查看我的项目是否以某种方式损坏。

我的项目(上次在 Visual Studio Preview 上运行):https://ufile.io/yp9xd

编辑 1:我重新安装了 Visual Studio 2017,现在我只运行非预览版。我还重新安装了 .NET Core 2.0 并清除了 NuGet 缓存。这一切都没有占上风。同样的结果继续嘲笑我。

编辑 2:我找到了问题的根源。交叉引用:https://github.com/JamesNK/Newtonsoft.Json/issues/1423

【问题讨论】:

    标签: exception .net-core nuget .net-core-2.0 fileloadexception


    【解决方案1】:

    问题的原因已确定。将以下配置设置为 csproj 文件时,您会遇到我的问题。

    <BaseIntermediateOutputPath>any-name-except-obj</BaseIntermediateOutputPath>
    

    【讨论】:

      猜你喜欢
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 2012-03-14
      • 2022-09-25
      相关资源
      最近更新 更多