Ada*_*eld 5 visual-studio-2010 visual-studio-designer
我正在尝试在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)
Run Code Online (Sandbox Code Playgroud)
如果我调试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
Run Code Online (Sandbox Code Playgroud)
这是一个干净的新项目(文件→新建→项目...→Visual C++→CLR→Windows窗体应用程序).创建新项目后,Form1.h在错误中打开自动生成的结果而不是Designer.但是,如果我创建一个C#Windows窗体应用程序而不是C++/CLI,它可以正常工作.
关于如何解决这个问题并打开设计师的任何想法?我已经尝试了以下所有方面无济于事:
我在网上发现了一些类似的线程(一,二,三),但它们都没有结果或者没有为我工作.我还没有尝试完全重新安装Visual Studio,但我可能不得不尝试下一步.
经过多次核对和重新安装后,我相信这是 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 扩展有关。由于我不再需要该扩展,因此我不需要它的注册表项,因此如果没有它们,设计器将按预期工作。
| 归档时间: |
|
| 查看次数: |
8811 次 |
| 最近记录: |