1

我有一个新的 .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

4

1 回答 1

1

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

<BaseIntermediateOutputPath>any-name-except-obj</BaseIntermediateOutputPath>
于 2017-09-11T20:39:15.530 回答