今天,每次我尝试打开任何.Net 应用程序时,我都会得到:
CLR error: 80004005
The program will now terminate.
有什么建议么?
我将从下载并重新安装 .NET 框架开始。
我遇到了这个问题,卸载/重新安装 dot net 没有帮助。
随机我发现了一个建议去 c:\Windows\Microsoft.NET\
然后将名为“Assembly”的目录重命名为“Assembly2”或其他名称,这样您就不会删除它,但 dot net 会认为它已经消失了。
之后,再次安装 dot net。
我花了几个小时才找到,这是唯一有效的方法。
我相信 0x80004005 (通常)是一个 ACCESS DENIED 错误 - 所以从这一点开始。如果您使用的是 Vista+,请尝试以管理员身份运行它。否则,进程监视器应该可以帮助您追踪它。
快速搜索表明这一点:
“如果您收到运行时错误 80131522“未注册服务器或无法加载 CLSID 的类 ...”,这是因为您试图从 .NET 程序集所在的目录以外的目录运行 VB 可执行文件。如果您尝试在交互模式下运行 vb 代码,也会发生这种情况。这可以通过将 .NET 程序集安装到全局应用程序缓存中来解决“
(http://bytes.com/forum/thread353655.html)
在 ASP.NET 上下文中,这似乎与文件权限有关:
失败的错误代码是 80004005。当工作进程帐户没有足够的权限读取 .NET Framework 文件时,可能会导致此错误。请确保
( http://weblogs.asp.net/jambrose/archive/2004/09/01/224226.aspx )
@MarkBracket:我遇到了类似的问题,但我想我终于解决了这个问题,这要归功于 Process Monitor。
我的解决方案:转到“C:\Windows”并右键单击“Microsoft.NET”文件夹,然后单击“属性”。单击“安全”选项卡,然后单击“高级”按钮。单击“所有者”选项卡,然后单击“编辑...”按钮。选择您当前的用户帐户,然后选中“替换子容器和对象的所有者”框,然后单击“确定”。
问题解决了(至少现在)。事实证明,这些程序根本没有运行所需的适当权限。
无论如何,再次感谢马克,我希望这篇文章对所有有/得到 CLR 80004005 错误的人有所帮助。
只是想从发展的角度回答这个问题,因为我遇到了这样的问题并解决了它。
我遇到的问题是我在非开发机器上部署 WPF 应用程序,它立即崩溃并显示消息“致命 CLR 错误 80004005”。
我意识到我将我的应用程序编译为 .Net 框架 4.5,并且我正在使用来自 System.Web 命名空间的 API 调用。
我通过更改方法调用解决了它,然后将其重新编译为 .Net framework 4.0 Client Profile。
当我运行许多其他应用程序时,我弹出了同样的错误。关闭一些更占用内存的程序会导致错误消失。