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 例外で中断すると、実際には次の例外が最初にスローされます。
タイプ 'System.ArgumentException' の初回例外が Microsoft.VisualStudio.Design.dll で発生しました
追加情報: パラメータが正しくありません。(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
これは、クリーンな新しいプロジェクト ( File → New → Project... → Visual C++ → CLR → Windows Forms Application ) です。新しいプロジェクトを作成した後、自動生成された結果を開くForm1.h
と、デザイナーではなくエラーが表示されます。ただし、C++/CLI の代わりに C# Windows フォーム アプリケーションを作成すると、問題なく動作します。
この問題を解決してデザイナーを開く方法についてのアイデアはありますか? 次のすべてを無駄に試しました:
- VS 2010 SP1の再インストール
- VS 関連の 2 つの更新プログラム ("Update for Microsoft Visual Studio 2010 Service Pack 1 (KB2736182)" および "Update for Microsoft Visual Studio 2010 Tools for Office Runtime (KB2764593)") をインストールした Windows Update の実行
- KB2635973をインストールすると、同様の問題が修正されます
- 上記インストール後の再起動
- DirectX コントロール パネルですべての DirectX デバッグ/検証設定をオフにする
- 「プログラムと機能」コントロール パネルを使用して、名前に「Microsoft SQL Server Compact」が含まれるものをすべてアンインストールする
オンラインで同様のスレッドをいくつか見つけました ( one、two、three ) が、それらはすべて決定的ではないか、私にとってはうまくいきませんでした。Visual Studio の完全な再インストールはまだ試していませんが、次に再インストールする必要があるかもしれません。