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

从调用COM组件返回了错误HRESULT E_FAIL。

Instances of this error (1)



隐藏通话堆栈



  在System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)
  在System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
  在Microsoft.VisualStudio.Shell.Design.Serialization.DesignerDocDataService.GetFileDocData(字符串fileName,FileAccess访问权限,字符串createTemplate,布尔addToHostList,布尔nestedItem)
  在Microsoft.VisualStudio.Shell.Design.Serialization.DesignerDocDataService.GetChildDocData(字符串名称,FileAccess访问,字符串createTemplate)
  在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.GetResourceDocData(CultureInfo信息,FileAccess访问)
  在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.System.ComponentModel.Design.IResourceService.GetResourceReader(CultureInfo信息)
  在System.ComponentModel.Design.Serialization.ResourceCodeDomSerializer.SerializationResourceManager.GetMetadata()处
  在System.ComponentModel.Design.Serialization.ResourceCodeDomSerializer.SerializationResourceManager.GetMetadataEnumerator()处
  在System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertiesFromResources(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.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)中

最佳答案

要在VS2013 Ultimate中解决此问题,我必须遵循文章http://rathodkrunal.blogspot.com/2011/11/visual-studio-2010-error-hresult-efail.html

其中只讨论了一次清理Visual Studio的ItemTemplateCache并运行一次/ setup标志。

如果链接中断或无法使用,则这里是以前用于较早VS的缓存:


  您可以在“ Program Files \ Microsoft Visual”中删除项目缓存。
  Studio 10.0 \ Common7 \ IDE \ ProjectTemplatesCache”,然后运行“ devenv
  / setup”以再次建立缓存,以查看是否有帮助。

10-05 21:35