我正在尝试在Windows 7上的Visual Studio 2010中设置一个新的Windows窗体应用程序(C ++ / CLI)。每当我尝试打开设计器时,它都会因为这个无用的错误而失败:
Exception from HRESULT: 0x8CE00001
Instances of this error (1)
1. Hide Call Stack
at Microsoft.VisualStudio.Designer.Interfaces.IVSMDCodeDomProvider.get_CodeDomProvider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_Provider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)
如果我调试Visual Studio并中断CLR异常,它实际上会首先抛出此异常:
Microsoft.VisualStudio.Design.dll中出现'System.ArgumentException'类型的第一次机会异常
其他信息:参数不正确。 (HRESULT异常:0x80070057(E_INVALIDARG))
使用此调用堆栈:
> Microsoft.VisualStudio.Design.dll!Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.VerifyNestedDocDataCompatible() + 0x15d bytes
Microsoft.VisualStudio.Design.dll!Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.Microsoft.VisualStudio.Designer.Interfaces.IVSMDDesignerLoader.Initialize(object pSp, object pHier, int itemid, object punkDocData) + 0xb5 bytes
[Native to Managed Transition]
vcpkg.dll!CVCFormEditorFactory::CreateEditorInstance() + 0x2e49f bytes
msenv.dll!CVsUIShellOpenDocument::OpenSpecificEditor() + 0x784 bytes
VCProject.dll!CVCFileNode::OpenSpecificEditor() + 0xc6 bytes
VCProject.dll!CVCFileNode::OpenSpecificEditor() + 0x3a bytes
VCProject.dll!CVCFileNode::DoOpenFile() + 0x1fe bytes
VCProject.dll!CVCFileNode::DoDefaultAction() + 0x5b bytes
VCProject.dll!CVCArchy::ExecCommand() + 0x8c bytes
msenv.dll!CVsUIHierarchyBaseWin::ExecHierParentChain() + 0x85 bytes
msenv.dll!CVsUIHierarchyBaseWin::WinExecCommand() + 0x7d bytes
msenv.dll!CVsUIHierarchyBaseWin::ProcessLButtonDblClkMsg() + 0xd8 bytes
msenv.dll!FnwpTVFixer() + 0x76b49 bytes
user32.dll!_InternalCallWinProc@20() + 0x23 bytes
user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes
user32.dll!_DispatchMessageWorker@8() + 0xed bytes
user32.dll!_DispatchMessageW@4() + 0xf bytes
msenv.dll!ProcessMessage() + 0x4d bytes
msenv.dll!CMsoCMHandler::EnvironmentMsgLoop() + 0x87 bytes
msenv.dll!CMsoCMHandler::FPushMessageLoop() + 0x79 bytes
msenv.dll!SCM::FPushMessageLoop() + 0x8c bytes
msenv.dll!SCM_MsoCompMgr::FPushMessageLoop() + 0x2a bytes
msenv.dll!CMsoComponent::PushMsgLoop() + 0x28 bytes
msenv.dll!VStudioMainLogged() + 0x22a bytes
msenv.dll!_VStudioMain() + 0x78 bytes
devenv.exe!util_CallVsMain() + 0xdb bytes
devenv.exe!CDevEnvAppId::Run() + 0x693 bytes
devenv.exe!_WinMain@16() + 0x9c bytes
devenv.exe!operator new[]() + 0xb31c bytes
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
这是一个干净的新项目(文件→新建→项目......→Visual C ++→CLR→Windows窗体应用程序)。创建新项目后,打开自动生成的Form1.h
会导致错误,而不是Designer。但是,如果我创建一个C#Windows窗体应用程序而不是C ++ / CLI,它可以正常工作。
有关如何解决此问题并打开Designer的任何想法?我已经尝试了以下所有方面无济于事:
我在网上发现了一些类似的帖子(one,two,three),但他们都没有结果或者没有为我工作过。我还没有尝试完全重新安装Visual Studio,但我可能不得不尝试下一步。
答案 0 :(得分:2)
我已通过设置:
成功解决了问题工具 - >选项 - > textEditor - > C ++ - >高级 - > “禁用数据库”
返回 false (出现DisableDataBase == true
HRESULT错误时),而不是重新启动VisualStudio。
答案 1 :(得分:1)
经过多次修复和重新安装后,我认为这是Visual Studio扩展的一个问题。
完全卸载Visual Studio(即使使用VS2010_Uninstall-RTM.ENU.exe /full /netfx
)并重新安装它也无济于事。但是,如果我创建了一个新的Windows用户,它对该用户来说效果很好。同样,如果我修改了我的HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0
和HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config
注册表项(以及它们的子项),它就可以了。
经过艰苦地比较我的旧注册表(它给出错误的地方)与新注册表(它工作的地方)并协调它们之后,剩下的唯一差异与特定的VS扩展相关。由于我不再需要该扩展,因此我不需要其注册表项,因此如果没有它们,Designer将按预期工作。
答案 2 :(得分:0)
我在VS2013中收到此错误
为我解决的是
之后我不再收到错误,希望这有助于某人。
答案 3 :(得分:0)
我在Visual Studio 2012中解决了这个问题。我的项目位于Dropbox目录中,并且在我将项目移动到桌面之前出现了来自hresult 0x8ce00001的异常问题。我认为Dropbox的版本控制活动可能与此问题有关。我希望这可以帮助别人!
答案 4 :(得分:0)
我解决了这个问题,只安装了SQL Server Compact 3.5。
注意,也许你的项目需要版本4.0。
答案 5 :(得分:0)
构建 - >清洁解决方案 关闭Visual Studio并重新打开。 这解决了我的问题。
答案 6 :(得分:0)
这个问题很旧,但是由于我在VS 2017中找到的解决方案非常简单,因此我决定发布它。对我来说,当我从Debug X86切换到Debug X64然后又回到X86时,这个问题就开始了。由于我没有意识到问题何时出现,因此我浪费了大量时间来寻找解决方案。但是当我返回Debug X64时,问题就消失了……