我使用视觉工作室2017,vb.net,winforms。
在包含用户控件的每个表单上,我都会显示: "为了防止在加载设计器之前可能丢失数据,必须解决以下错误:"。
带有错误消息: 错误HRESULT E_FAIL已从调用COM组件返回。
我尝试创建一个新的用户控件并将其添加到新表单中,我得到了相同的结果。重新打开具有用户控件的表单后,将显示该显示。
程序本身很好,它只是我看不到的设计师。
我很感激任何建议,为什么这可能会发生,因为它似乎与代码无关。
这可能与我使用resharper删除任何未使用的引用或我在笔记本电脑上运行它(也是vs2017)有关。
提前致谢
堆栈跟踪是: 在System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo) 在Microsoft.VisualStudio.LanguageServices.Implementation.Utilities.Exceptions.ThrowEFail() 在Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeTypeRef.LookupTypeSymbol() 在Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeTypeRef.get_TypeKind() 在EnvDTE.CodeTypeRef.get_TypeKind() 在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.GetUrtTypeFromVsType(CodeTypeRef vsType) 在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomParser.OnTypePopulateMembers(Object sender,EventArgs e) 在System.CodeDom.CodeTypeDeclaration.get_Members() 在Microsoft.VisualStudio.Design.Serialization.CodeDom.MergedCodeDomParser.CodeTypeDeclarationPopulator.OnPopulateMembers(Object sender,EventArgs e) 在System.CodeDom.CodeTypeDeclaration.get_Members() 在System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager,CodeTypeDeclaration declaration) 在System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager) 在Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager) 在System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
答案 0 :(得分:1)
找出问题所在。出于某种原因,有一个指向项目本身的参考。当我删除引用时,设计器返回。