C# System.IO,应用程序运行时FileLoadException错误

C# System.IO,应用程序运行时FileLoadException错误,c#,C#,我有一个很奇怪的问题。关于这一点,我在网上做了一些研究,但似乎没有一个答案有帮助。该应用程序在几天前已正确编译和运行,现在它只是出现以下错误。我能做些什么来解决这个问题,有什么建议吗?我真的不知道该怎么办 System.IO.FileLoadException:无法加载文件或程序集 'Newtonsoft.Json,版本=4.0.5.0,区域性=中性, PublicKeyToken=xxxxx'或其依赖项之一。位于 程序集的清单定义与程序集引用不匹配。 (HRESULT中的异常:0x801310

我有一个很奇怪的问题。关于这一点,我在网上做了一些研究,但似乎没有一个答案有帮助。该应用程序在几天前已正确编译和运行,现在它只是出现以下错误。我能做些什么来解决这个问题,有什么建议吗?我真的不知道该怎么办

System.IO.FileLoadException:无法加载文件或程序集 'Newtonsoft.Json,版本=4.0.5.0,区域性=中性, PublicKeyToken=xxxxx'或其依赖项之一。位于 程序集的清单定义与程序集引用不匹配。 (HRESULT中的异常:0x8013100)文件名:“Newtonsoft.Json, 版本=4.0.5.0,区域性=中性,PublicKeyToken=xxxxx'


我的下一步将是执行以下操作:

  • 使用NuGet在所有项目中删除此选项
  • 进入NuGet包存储库并删除Newtonsoft.Json的文件。(他们不应该还在那里,但如果他们还在,这表明NuGet出现了问题,需要更多的故障排除——根据我的经验,NuGet大约有30%的时间都在工作,其余的时间都很痛苦)
  • 手动删除项目中的所有bin和obj文件夹
  • 通过NuGet重新添加Json库

  • 如果这不起作用,请告诉我。

    您是否使用NuGet引用程序集?如果是这样,请尝试获取NewtonSoft.Json库的最新版本,然后重新生成。如果您在该位置没有可用的引用库,通常会发生这种情况。我安装了新版本的Newtonsoft.Json,但它仍在寻找旧版本。您可以尝试转到VS,然后右键单击解决方案并选择“管理NUGet软件包”吗。然后选择更新,然后选择nuget.org。看看你是否有任何更新。我刚做了,没有可用的更新。是否有办法更改它正在寻找的版本我似乎有4.5.00,它正在寻找4.0.5.0您是否使用过任何第三方库?您可能有一个库依赖于较旧版本的
    Json.NET
    Newtonsoft.Json,version=4.0.5.0
    )…存储库将存储在哪里?通常存储在解决方案根文件夹中。应该是“packages”。好的,上面所有的都是从NuGet安装的,并且继续得到与上面相同的错误。我记得几周前我备份了我的项目文件夹。我在packages文件夹中找到了一个名为“Newtonsoft.Json.4.0.5”的文件夹,并将其复制到我当前的文件夹中,现在可以正常工作了。谢谢你的帮助。我担心newtonsoft的最终版本可能会停止。有没有办法允许多版本依赖关系?同一个解决方案中同一个库的不同版本可能会引起很多麻烦。我建议您继续进行故障排除,直到能够消除此问题。我发现将DLL粘贴在“ExternalReferences”文件夹中并直接引用(无Nuget)对我有效。