首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从对COM组件的调用中返回错误HRESULT E_FAIL

从对COM组件的调用中返回错误HRESULT E_FAIL
EN

Stack Overflow用户
提问于 2010-11-17 23:50:20
回答 24查看 78.8K关注 0票数 47

在Silverlight 4应用程序中,此错误意味着什么?:

“对COM组件的调用返回了Error HRESULT E_FAIL。”

这是一个非常普遍的错误。调试时,VS调试器没有指出错误的确切位置。

EN

回答 24

Stack Overflow用户

发布于 2011-12-10 20:35:24

这是个老生常谈的问题,但我想我会给出答案,因为我在谷歌上找到了这个问题的答案。

在我的示例中,我从web复制了一些XAML示例,以便开始使用Silverlight Toolkit 4。该示例XAML包含一个简单的按钮,其中包含一个单击事件处理程序,它与我后面代码中的任何处理程序无关。一开始我没有注意到这个简单的问题,因为编译器没有给我错误消息,我只是在运行时看到了"Error HRESULT E_FAIL已从调用COM组件中返回“消息。直到我把我的示例XAML复制到一个全新的Silverlight应用程序而没有任何其他内容时,才发现了编译时真正的潜在问题。

因此,如果您在运行时收到了相同的错误消息,我的建议是仔细检查您的XAML,以检查您预期在编译时应该得到的任何错误,但由于某种原因,这些错误最终会导致上面提到的运行时错误。为了进行调试,您可以执行我所做的工作,并在没有其他内容的独立Silverlight应用程序中隔离导致错误的代码,并查看是否像我一样,您得到了一条更有用的错误消息来指导您。

HTH。

票数 21
EN

Stack Overflow用户

发布于 2016-06-09 11:53:15

有很多解决方案,但是这是唯一一个成功的解决方案,因为me.It已经在VS2012 VS2013和VS2015上试用过了,我发现对于all.Just来说,按照下面的步骤来解决这个问题同样有效。

步骤1:关闭

代码语言:javascript
运行
复制
Step 2 : Delete **\*.csproj.user** and **\*.suo** files
代码语言:javascript
运行
复制
Step 3 : Reopen VS, and try to run project again in debug mode.

注意:当在相同的项目上工作的多个用户与不同的VS版本的 .suo文件不支持在两个VS versions.It之间来回切换时,就会发生这种情况。

票数 15
EN

Stack Overflow用户

发布于 2012-10-18 10:21:10

在我的情况下:

我创建了一个

代码语言:javascript
运行
复制
class MyControl : ContentControl {
}

默认情况下,类不是公共的,XAML无法加载它并引发异常。

从对COM组件的调用中返回错误HRESULT E_FAIL

只需将类的范围更改为public,错误就会消失。

希望能帮上忙。

PS。微软应该提供更多关于信息的信息,而不是仅仅抛出一条神秘的错误消息,而不需要任何堆栈跟踪。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4210405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档