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

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

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

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


当前回答

看起来像是引用了一个损坏的程序集。

明确的两个:

项目的\bin文件夹 临时文件夹(应该是C:\Users\your_username\AppData\Local\ temp \Temporary ASP。windows 7中的NET文件

看看错误是否仍然发生

其他回答

这可以在引用COM包装器dll时发生。在Visual Studio项目中,在References下,选择要引用的COM包装器dll,并确保它们具有以下属性值:"Embed Interop Types": False和"Specific Version": False。

我必须清除

C: / Windows / Microsoft.NET/Framework/v4.0.30319/Temporary ASP。网络文件

直到那时,问题才得到解决。

如果还有其他人在使用WiX工具集,我发现我的安装程序项目引用了一个最近从解决方案中删除的旧项目。我花了一段时间才意识到,因为在我试图构建的解决方案中有许多项目,并且消息没有指出哪个项目构建失败了(以及干净的,哪个项目也失败了)。

这取决于您是否运行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。网络文件

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

我有类似的问题,而打开Nuget包管理器, 我删除了所有的临时文件和建立项目,它工作得很好。