最近我在c#解决方案中遇到了以下异常:

错误2无法加载文件或程序集'Newtonsoft。Json, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b9a188c8922137c6'或 它的依赖项之一。参数不正确。(例外 HRESULT: 0x80070057 (E_INVALIDARG))

这既不取决于我的代码,也不取决于程序集的名称(如Newtonsoft)。Json)。

当我从解决方案中删除这个dll时,编译器会在相同的异常中告诉另一个dll。所以我想我的电脑应该关闭/打开一些东西:)


当前回答

您可以清除、构建或重新构建应用程序,也可以简单地删除临时ASP。C:\Users\YOUR USERNAME\AppData\Local\Temp

这就像魔法一样。在我的情况下,我有一个程序集绑定问题说无法加载文件bla bla bla

你也可以看到解决方案2为http://www.codeproject.com/Articles/663453/Understanding-Clean-Build-and-Rebuild-in-Visual-St

其他回答

您还可以清除包目录,并允许NuGet重新下载丢失的包

这为我解决了问题

我让微软Office的Siemens Teamcenter 10客户端用户得到关于不同DLL的相同错误。其他答案都没用。解决方案是删除文件夹

C:\Users\%username%\AppData\Local\assembly\

这取决于您是否运行X64,您可能需要清理更多的位置。仅仅清理我的用户目录是不够的。

% % \ TEMP临时ASP。网络文件 C:\Windows\ Microsoft.NET \ Framework \ v2.0.50727 \临时ASP。网络文件 C:\Windows\ Microsoft.NET \ Framework \ v4.0.30319 \临时ASP。网络文件 C:\Windows\ Microsoft.NET \ Framework64 \ v2.0.50727 \临时ASP。网络文件 C:\Windows\ Microsoft.NET \ Framework64 \ v4.0.30319 \临时ASP。网络文件

如果你安装了其他版本的框架,这个列表将会增加。

该问题与引用类库的. net运行时版本有关(展开引用,选择库并勾选“运行时版本”)。我在Antlr3上遇到了点问题。运行时,在将我的visual studio项目升级到v4.5之后。我用NuGet卸载了Microsoft ASP。NET Web优化框架(由于依赖链阻止我直接卸载Antlr3)

然后我用NuGet重新安装了Microsoft ASP。NET Web优化框架。这将重新安装正确的运行时版本。

在我的情况下,我想编译一个COM可见DLL。问题是这个DLL的旧版本位于这里:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

因此Visual Studio加载这个版本,而不是新编译的版本,因为它试图注册它。