我得到了错误
fileloadexception:无法加载文件或程序集
“Newtonsoft。Json,版本=4.5.0.0,文化=中性,
PublicKeyToken=30ad4fe6b2a6aeed'或其依赖项之一。的
定位程序集的清单定义与该程序集不匹配
参考。(异常来自HRESULT: 0x80131040)
用于我的CI构建
我尝试过的解决方案
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"
culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
它也没有起作用
我花了几天时间试图解决这个令人沮丧的问题。我几乎试遍了网上能找到的所有方法。最后我发现这个错误可能是由一个解决方案中不同的目标. net项目版本(4.5和4.5.1)引起的(就像我的情况一样)。下面的步骤帮我解决了这个问题:
仔细检查解决方案中每个项目的. net版本。只需右键单击项目,然后进入属性。
If possible set the same .Net version for all projects. If not at least try to change the Startup project one (for me this was the one causing the issues).
Remove all Newtonsoft.Json packs from the solution.
uninstall-package newtonsoft.json -force
Update all Newtonsoft.Json versions in all packages.config files, like so
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net451" />
Reinstall Newtonsoft.Json from "Package Manager Console" with:
install-package newtonsoft.json
Rebuild the solution
(可选)7。如果更改了Startup项目,请再次返回
关闭解决方案。
打开包。Config和*。用csproj文本编辑器删除任意一行都有Newtonsoft。Json
Ex:
<Reference Include="Newtonsoft.Json,Version=9.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net40\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
Or
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net40" />
再次打开解决方案并重新安装Newtonsoft。Json由安装包Newtonsoft。Json
这对我很管用。