Windows 7 32bit版にVisual Studio 2012 Premium Editionをインストール後、Windows Updateを実行。50個くらいのアップデートを適用しました。その後、Visual Studio 2012を起動し、プロジェクトを新規作成しようとすると下図のようなエラーが。
制約 ContractName
Microsoft.VisualStudio.Text.ITextDocumentFactoryService
RequiredTypeIdentity
Microsoft.VisualStudio.Text.ITextDocumentFactoryService に一致するエクスポートが見つかりませんでした
プロジェクトはVB.NETのWindowsフォームアプリ、ASP.NET、同様にC#も試しましたが駄目でした。
Windows Updateが原因??キャッシュフォルダが原因?
単語で検索したところ、こんなのがヒットしました。
- Error message when attempting to create a new Visual Studio Express 2012 Project.
- https://connect.microsoft.com/VisualStudio/feedback/details/764801/error-message-when-attempting-to-create-a-new-visual-studio-express-2012-project
- "No exports were found that match the constraint" Error creating a new project
- http://connect.microsoft.com/VisualStudio/feedback/details/742469/no-exports-were-found-that-match-the-constraint-error-creating-a-new-project
いずれもMicrosort Connectのバグ報告に上がっているもの。前者については再現できないとしてクローズされていますが、後者は回避方法が報告されています。回避法は2つ。
- "ComponentModelCache"ディレクトリを削除する。
- Windows Update実行後の発生であれば、Visual Studio 2012のインストーラーを再実行する。
お手軽そうなのは前者。こちらを試してみましょうか…。しかしなんで…
ComponentModelCacheフォルダを消してみた
前述、後者の方法にコメントとしてStackoverflowのQAが転記されています。それによると、削除するフォルダは
Users\{username}\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache
のようです。やってみます……Visual Studio 2012起動、ASP.NETのプロジェクト作成……うまくいきました。
StackoverflowのQAページはこちら
- no exports were found that match the constraint contract name
- http://stackoverflow.com/questions/17596543/no-exports-were-found-that-match-the-constraint-contract-name
Microsoft Visual Studio Professional 2012 通常版
- 出版社/メーカー: マイクロソフト
- 発売日: 2012/09/21
- メディア: DVD-ROM
- 購入: 2人 クリック: 95回
- この商品を含むブログ (7件) を見る
Visual Studio 2012新機能マスターブック (MSDNプログラミングシリーズ)
- 作者: 川俣晶
- 出版社/メーカー: 日経BP社
- 発売日: 2012/09/20
- メディア: 大型本
- クリック: 3回
- この商品を含むブログ (1件) を見る