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”但它没有用.
有谁在这里有任何想法可能会出错?
解决方法
我的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更新.
原文地址:https://www.jb51.cc/csharp/97060.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。