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

本文关键字:HRESULT FAIL 错误 返回 COM 组件 调用 | 更新日期: 2023-09-27 18:26:39

我有一个C++调用C#窗体。它似乎工作正常。但是,当我打开C#项目表单设计器时,会弹出以下错误消息。可能出了什么问题。解决方案构建并运行良好。

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

Instances of this error (1)  
  1. 隐藏调用堆栈

在System.Runtime.InteropServices.Marshal.SthrowExceptionForHRInternal(Int32错误代码,IntPtr错误信息)在System.Runtime.InteropServices.Marshal.SthrowExceptionForHR(Int32错误代码)位于Microsoft.VisualStudio.Shell.Design.Serialization.DesignerDocDataService.GetFileDocData(String fileName,FileAccess access,String createTemplate,Boolean addToHostList,Boolean nestedItem)位于Microsoft.VisualStudio.Shell.Design.Serialization.DesignerDocDataService.GetChildDocData(字符串名称,FileAccess访问,字符串创建模板)位于Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.GetResourceDocData(CultureInfo信息,FileAccess访问)位于Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.System.ComponentModel.Design.IResourceService.GetResourceReader(CultureInfo-info)位于System.ComponentModel.Design.Serialization.ResourceCodeDomSerializer.SerializationResourceManager.GetMetadata()位于System.ComponentModel.Design.Serialization.ResourceCodeDomSerializer.SerializationResourceManager.GetMetadataEnumerator()位于System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DescerializePropertiesFromResources(IDesignerSerializationManager管理器,对象值,Attribute[]筛选器)位于System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager管理器,CodeTypeDeclaration声明)位于System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager管理器)位于Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)位于Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

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

为了在VS2013终极版中解决这个问题,我不得不遵循帖子http://rathodkrunal.blogspot.com/2011/11/visual-studio-2010-error-hresult-efail.html

其中,它谈到了简单地清除Visual Studio的ItemTemplateCache,并一次性使用/setup标志运行vs。

如果链接断开或不可用,这里是旧VS:的缓存位置

您可以在"Program Files''Microsoft VisualStudio 10.0''Common7''IDE''ProjectTemplatesCache",然后运行"devenv/setup"来再次构建缓存,看看它是否有帮助。

相关文章: