【发布时间】:2020-07-21 16:12:09
【问题描述】:
我想将 Newtonsoft.Json dll 从版本 6.0.0.0 更新到版本 8.0.0.0。我还参考了 System.Net.Http.Formatting.dll 版本 5.2.3.0。它在内部指的是 Newtonsoft.Json dll 版本 6.0.0.0。
因此我遇到以下错误: System.IO.FileNotFoundException:无法加载文件或程序集“Newtonsoft.Json,版本=6.0.0.0,文化=中性,PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。系统找不到指定的文件。
尝试了程序集绑定并在 app.config 下面添加了
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
</assemblyBinding>
仍然面临同样的问题。
【问题讨论】:
-
您的目标是什么版本的 .net 框架?
-
@BlackFrog : .Net Framework 4.7.1
-
将绑定重定向中的旧版本更改为:
oldVersion="0.0.0.0-8.0.0.0"。之后将Tools > Options > Projects and Solutions > Build and Run中的构建输出详细程度更改为详细或诊断以验证为什么构建选择了不正确的版本。 -
该软件包的 5.2.3 版本自 2015 年以来一直没有更新。等我到了我的办公桌后,我会更深入地了解一下。
标签: c# asp.net-web-api json.net nuget assembly-binding-redirect