电脑崩溃后,我的Visual Studio 2010无法加载程序集。

29

我的电脑出现了蓝屏。在电脑重新启动后,我运行了我的Silverlight应用程序,并得到了以下错误:

无法加载文件或程序集“AsyncCtpLibrary”或其依赖项之一。参数不正确。(来自 HRESULT:0x80070057 (E_INVALIDARG) 的异常)

实际上,我遇到了几个关于RIA服务无法生成代码的错误,因为目录名称具有无效字符。我通过删除bin和obj目录中的所有内容来解决了这个问题。显然有些东西是损坏了。

我已经重新下载了DLL并将其设置为本地复制,但只有在运行程序后才会收到该错误。我不确定它是否与GAC中的DLL损坏有关。

编辑:在重新安装Async CTP DLL并检查GAC之后,我决定打开程序集绑定日志记录,它给了我以下信息(以及更多)。

ERR:无法完成组件设置(hr = 0x80070057)。探测终止。


你安装了VS 2010 SP1 Beta吗?如果是这样,它与Async CTP不兼容(提供该程序集)。你必须卸载SP1 beta或Async CTP中的一个。 - Reed Copsey
不,我有VS 2010旗舰版。在崩溃之前,异步CTP运行得非常好。 - Matt Hudson
我建议在这种情况下修复Visual Studio。 - Reed Copsey
你应该解决导致蓝屏的问题,然后重新安装Windows。听起来很疯狂,但如果你的电脑有故障,这样的事情是可能发生的。 - servermanfail
我重新安装了AsyncCTP,但仍然遇到相同的错误。有人知道如何打开程序集绑定日志记录以便查看真正的错误吗? - Matt Hudson
5个回答

35

好的,我已经想通了。我必须删除此目录中的所有内容:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\


6
Jaider(http://stackoverflow.com/users/480700/)的评论(未被采纳的编辑):还需清除以下文件夹中的文件: C:/Users[用户名]/AppData/Local/Temp/Temporary ASP.NET Files/。这是为了补充你的答案,基于此网站(http://www.solutioncottage.com/ShowSolution.aspx?solID=59)。对我非常有帮助。 - Anne
1
+1 我在使用 .Net 3.5 时遇到了类似的错误(相同的错误代码),删除 C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 中的所有内容解决了问题。感谢您的提示! - Polyfun
4
非常奇怪,但在我的 Windows 7 (x64) 电脑上,我不得不删除“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\”中的文件,而不是 Framework64。顺便说一句,非常感谢,你刚刚救了我的命。 - NET3
2
对于我的 C:\Users\loggedinuser\AppData\Local\Temp\Temporary ASP.NET Files\,所有东西 - Tom Stickel
1
+1 可以确认这适用于包含 Winform、ExcelVSTOAddIn 和 ClassLibraryAPI 解决方案。只需删除 C:\Users\loggedinUser\AppData\Local\Temp 中的所有文件即可。 - Jeremy Thompson
当我没电时发生了这种情况 :) 我不得不在Framework /..和Framework64 /..中删除文件。 - Gorgi Rankovski

19

删除以下文件夹中的所有文件,然后重试:

C:\Users[用户名]\AppData\Local\Temp\Temporary ASP.NET Files\

.NET 4.0

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\ %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\

.NET 2.0

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ %SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\


1

你尝试过在安全模式下启动devenv吗?

devenv.exe /SafeMode

如果这个能够工作,你可以尝试将设置文件重置为以下内容:
devenv.exe /ResetSettings

不必修复 Visual Studio,您只需使用以下方法将用户数据重置为默认值:

devenv.exe /resetuserdata

0

如果您认为您的GAC已经损坏,我想您可以查看其中的DLL。我敢打赌您可以在网上找到该dll的校验和,或重新下载它。不过,我建议您遵循Reed的建议--这似乎更有可能解决根本问题。


-1

只需在临时文件夹中删除临时文件。 在运行命令中输入%temp%以打开临时文件夹,然后删除所有文件和文件夹。完成后您的问题将得到解决。


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