在Silverlight 4应用程序中,此错误意味着什么?:
“对COM组件的调用返回了Error HRESULT E_FAIL。”
这是一个非常普遍的错误。调试时,VS调试器没有指出错误的确切位置。
发布于 2011-12-10 12:35:24
这是个老生常谈的问题,但我想我会给出答案,因为我在谷歌上找到了这个问题的答案。
在我的示例中,我从web复制了一些XAML示例,以便开始使用Silverlight Toolkit 4。该示例XAML包含一个简单的按钮,其中包含一个单击事件处理程序,它与我后面代码中的任何处理程序无关。一开始我没有注意到这个简单的问题,因为编译器没有给我错误消息,我只是在运行时看到了"Error HRESULT E_FAIL已从调用COM组件中返回“消息。直到我把我的示例XAML复制到一个全新的Silverlight应用程序而没有任何其他内容时,才发现了编译时真正的潜在问题。
因此,如果您在运行时收到了相同的错误消息,我的建议是仔细检查您的XAML,以检查您预期在编译时应该得到的任何错误,但由于某种原因,这些错误最终会导致上面提到的运行时错误。为了进行调试,您可以执行我所做的工作,并在没有其他内容的独立Silverlight应用程序中隔离导致错误的代码,并查看是否像我一样,您得到了一条更有用的错误消息来指导您。
HTH。
发布于 2016-06-09 03:53:15
有很多解决方案,但是这是唯一一个成功的解决方案,因为me.It已经在VS2012 VS2013和VS2015上试用过了,我发现对于all.Just来说,按照下面的步骤来解决这个问题同样有效。
步骤1:关闭
Step 2 : Delete **\*.csproj.user** and **\*.suo** files
Step 3 : Reopen VS, and try to run project again in debug mode.
注意:当在相同的项目上工作的多个用户与不同的VS版本的
.suo
文件不支持在两个VS versions.It之间来回切换时,就会发生这种情况。
发布于 2012-10-18 02:21:10
在我的情况下:
我创建了一个
class MyControl : ContentControl {
}
默认情况下,类不是公共的,XAML无法加载它并引发异常。
从对COM组件的调用中返回错误HRESULT E_FAIL
只需将类的范围更改为public,错误就会消失。
希望能帮上忙。
PS。微软应该提供更多关于信息的信息,而不是仅仅抛出一条神秘的错误消息,而不需要任何堆栈跟踪。
https://stackoverflow.com/questions/4210405
复制