无法加载文件或程序集...参数不正确。

213

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

错误2:无法加载文件或程序集“Newtonsoft.Json,Version=3.5.0.0, Culture=neutral,PublicKeyToken=b9a188c8922137c6”之一或其依赖关系。 参数不正确。 (HRESULT:0x80070057(E_INVALIDARG))

这与我的代码或程序集名称(例如本例中的Newtonsoft.Json)无关。

当我从解决方案中删除此dll时,编译器会在同一异常中提到另一个问题。 因此,我认为需要在我的计算机上关闭/打开某些功能 :)


3
不行。要么是编译器错误,要么是运行时异常。我怀疑是后者。请表述更清楚。 - leppie
2
我也遇到了同样的异常,但是我通过Thomas的解决方案成功修复了它。问题是由于电源故障导致系统关闭不当引起的。 - Sandeep
28个回答

0
在我的情况下,我想编译一个COM可见的DLL。问题是这个DLL的旧版本被放置在这里:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

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


0
清空临时文件夹中的所有文件(C:\Users\user_name\AppData\Local\Temp\Temporary ASP.NET Files\project folder)

0
问题与引用的类库的 .Net 运行时版本有关(展开引用,选择库并检查“运行时版本”)。在将我的 Visual Studio 项目升级到 v4.5 版本后,我遇到了 Antlr3.Runtime 的问题。由于一连串的依赖关系阻止了我直接卸载 Antlr3,所以我使用 NuGet 卸载了 Microsoft ASP.NET Web 优化框架。
然后我使用 NuGet 重新安装了 Microsoft ASP.NET Web 优化框架,这样正确的运行时版本就会被安装了。

0

我遇到了同样的错误,因为应用程序在 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\ 文件夹中找不到依赖的框架。我只是修复了我的 Visual Studio,将所需的框架添加到上述位置,并且它运行得很好。


0

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


0
我遇到了使用西门子Teamcenter 10 Client for Microsoft Office的用户,他们遇到了关于不同DLL的相同错误。其他答案都没有起作用。解决方案是删除文件夹中的内容。
C:\Users\%username%\AppData\Local\assembly\

0

我在打开Nuget Packet管理器时遇到了类似的问题,我删除了所有临时文件并构建了项目,问题得到了解决。


0

我在运行在IIS上的“Chocolatey Server(Simple)”遇到了相同的问题,必须执行以下步骤:

  1. 按照建议清理“C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files”
  2. 通过choco卸载“Chocolatey Server(Simple)”应用程序
  3. 从chocolatey包目录中删除目录“C:\ tools \ chocolatey.server”。这很重要,因为否则Web.config会保留旧依赖项,导致错误。简单地重新安装将不会更新现有的Web.config(就像在我的情况下一样)。
  4. 重启IIS并根据作者的建议配置Chocolatey Server。现在应该可以看到没有任何错误的chocolatey服务器页面。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接