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

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

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

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


当前回答

如果您正在使用SQL Server 2012的数据工具,在2013年5月1日使用VS2010 shell,请检查您的配置管理器设置。将服务器名称从Workflow更改为xCPWorkflow足以产生完全相同的参数不正确(Exception from HRESULT: 0x80070057 (E_INVALIDARG))消息。

其他回答

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

这为我解决了问题

要知道清除什么确定-添加以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\EnableLog (DWord set to 1).

然后您将看到如下所示的输出。这将告诉你asp.net试图加载dll的位置。清除该目录。

LOG: This bind starts in default load context.
LOG: Using application configuration file: c:\app\AtlasAdvisor\web\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet.DLL.**
LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet/Avanade.ViddlerNet.DLL**.

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

清除此文件夹(仅限windows x64)

C:\Windows\ Microsoft.NET \ Framework \ v4.0.30319 \临时ASP。网络文件

我遇到了同样的错误,因为应用程序没有在C:\Program Files (x86)\Reference程序集\Microsoft\框架\中找到依赖框架。NETFramework \文件夹。我只是修复了我的Visual studio,在上面的位置添加了所需的框架,它工作得很好。