在Visual Studio中发生了灾难性故障(HRESULT: 0x8000FFFF (E_UNEXPECTED))。

16

我是一个从WPF应用程序迁移到Windows 10 UWP的新手。我知道这个问题以前已经被问过,但没有人能解决我的问题。 最近,我尝试通过按照GitHub页面上的说明,重新创建一个UWP应用程序的汉堡菜单。

一切都进行得很顺利,直到我遇到了错误“灾难性失败(来自HRESULT:0x8000FFFF(E_UNEXPECTED)的异常)”。在调试后,我发现以下代码行导致了该错误:

<Setter Property="BorderBrush" Value="{x:Null}" /> 

仅解释一下来自GitHub页面的项目; 假设您有一个空的uwp xaml页面,您必须将2个文件shell.xaml和shell.xaml.cs添加到您的项目中,并修改app.xaml。 更多说明在Github页面上。 我添加了这个,但在运行后遇到了错误。

我还尝试了这里的说明,但没有用。 对于该页面上描述的组件,我感到很困惑,因为我找不到它们。

请提供任何建议都将有所帮助。


10
唯一“灾难性”的是错误报告的质量。COM错误代码的一个巨大责任,在编写UWP程序时,你会看到更多这样的问题。需要随意尝试各种方法直到它起作用。你已经做到了,继续进行下一步。 - Hans Passant
3
似乎只是关闭并重新打开Visual Studio就解决了这个问题。 - Tolani
5个回答

22
我在将解决方案配置从Debug更改为Release时,在Visual Studio 2017中遇到了Error: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

幸运的是,重新打开Visual Studio可以消除此错误。


2
在VS2019 16.8.1中遇到了相同的问题。问题是我甚至无法保存打开的文件,就会出现错误。必须将代码复制/粘贴到其他地方,然后终止devenv.exe。 - A. Niese
同样的问题在从Debug切换到Release时出现了,即使重启也无法解决。我已经更改了一个窗体上的.ico文件(以及其他一些东西)。.resx显示“对象引用未设置为对象的实例”。我删除了.resx文件。它重新生成了(没有.ico文件)。重新设置了.ico文件,问题就解决了。 - Kenneth Evans
2
重新启动 Visual Studio - Sydney_dev
我有两个 Visual Studio 实例在运行(两者都是同一个项目),其中一个实例出现了错误,另一个却正常运行。当关闭正常运行的实例后,有问题的那个突然也能正常工作了。 - Zui0per
1
我在VS 2022中遇到了同样的问题,但重新启动Visual Studio解决了它。 - Jonathan Taylor
显示剩余4条评论

5
  1. 关闭 Visual Studio
  2. 进入项目目录
  3. 删除 .vs 文件夹
  4. 如果找不到 .vs 文件夹,请显示隐藏文件,然后删除 .vs 文件夹
  5. 重新打开项目,尽情编码

谢谢,这对我有用。在我的情况下,失败是因为我胆敢尝试打开一个源代码文件。对于其他使用这个解决方案的人来说,提个醒,VS自动重新创建我的NuGet包需要几分钟的时间,所以需要一点耐心。 - undefined

1
似乎有多种原因导致此错误:在Visual Studio 2019社区版(Studio版本16.5.3)中,我向现有项目添加了一个Windows表单,命名时包括结尾的.cs - 它完全不喜欢。我无法保存项目,无论是特定文件还是整个项目,都会遇到“灾难性错误...”。幸运的是,将其复制/粘贴到Visual Studio 2017中,并粘贴到新添加的空白表单中(这很顺利!),尽管出现了同样的问题,直到我添加了没有后缀.cs的新表单!

其中一种方法是将默认表单从Form1重命名为frmMain。我不得不先删除然后重新添加表单。 - C.M.

1
我在Visual Studio 2022中遇到了相同的错误,花了我3个小时才解决了这个问题。 当我打开myForm.h文件的View Designer时,我不知道为什么会出现这个错误。 为了解决这个问题,我从项目存储库中删除了不必要的调试构建文件夹。我只保留了单个Debug目录,并删除了Release 64X和84目录。如果您遇到相同的问题,可以从项目存储库中删除不必要的目录并重新构建项目。

0
我在使用Visual Studio 2019创建项目时遇到了同样的错误。
所以我尝试更改项目创建的位置,结果成功了。似乎路径太长了,但是Visual Studio却给出了这个超级没有帮助的错误信息,而不是直接说路径太长。

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