c# – Web API项目在部署时不会运行 – 无法加载文件或程序集’Newtonsoft.Json,Version = 4.5.0.0

c# – Web API项目在部署时不会运行 – 无法加载文件或程序集’Newtonsoft.Json,Version = 4.5.0.0,第1张

概述我在部署MVC 5 WEB API项目时遇到此错误: Could not load file or assembly ‘Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed’ or one of its dependencies. The system cannot find the f 我在部署MVC 5 WEB API项目时遇到此错误:

Could not load file or assembly ‘Newtonsoft.Json,Version=4.5.0.0,
Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed’ or one of its
dependencIEs. The system cannot find the file specifIEd.

我已经按照this并重新安装NuGet包“Update-Package Newtonsoft.Json -Reinstall”但它没有用.

有谁在这里有任何想法可能会出错?

解决方法 检查对Newtonsoft.Json DLL的引用,并确保它没有自动选择解决方案中packages文件夹之外的版本.

我的VS 2013一直在各种/程序文件(x86)/ …文件夹中查找其他副本.它甚至忽略了将包版本DLL显式添加到项目中.不得不深入挖掘,找出为什么会发生这种情况……

调查

我在文本编辑模式下打开了项目.csproj文件,并搜索了对Newtonsoft.Json的所有引用.

事实证明我没有一个,但两个引用我的csproj文件中的DLL(我不知道这是可能的).一个引用较旧的Newtonsoft.Json 5.0.6(当前为5.0.8).

我没有手动删除其中一个,而是将这个缺少的元素添加到第二个DLL包含中.我还将版本号更改为5.0.8:

<Private>True</Private>

所以它现在看起来像:

<Reference Include="Newtonsoft.Json,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed,processorArchitecture=MSIL">  <HintPath>..\..\CsqueryTest\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>  <Private>True</Private></Reference>

Private是为DLL引用定义“copy Local”的设置.然后它再次开始将DLL包含在输出中!

我将弄清楚要从csproj文件中删除哪个,但是现在如果遇到这个问题,这可能会让你开始.看起来原因可能是过去的NUGET更新.

总结

以上是内存溢出为你收集整理的c# – Web API项目在部署时不会运行 – 无法加载文件或程序集’Newtonsoft.Json,Version = 4.5.0.0全部内容,希望文章能够帮你解决c# – Web API项目在部署时不会运行 – 无法加载文件或程序集’Newtonsoft.Json,Version = 4.5.0.0所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1237381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存