環境
Windows 7 Professional (32bit)
Visual Studio 2013
エラー内容(うろおぼえ)
VB.NETのフォームデザイナーを開こうとすると
外部コンポーネントで例外が発生しました
みたいな内容の「ボンッ」ダイアログが表示された。
画面のコードを表示しようとするとスタックトレースのような
ITextEditorほにゃららら(うろおぼえすぎ)
が表示された。
原因
Windowsの「プログラムと機能」から確認できる.NET Frameworkには、
- .NET Framework 4.○.○ ランタイム ("Targeting Pack"もしくは"Multi-Targeting Pack")
- .NET Framework 4.○.○ SDK
の大きく2種類がいるんだけどこのうち、最新のバージョンと同じ「世代(※)」のランタイムとSDKの両方が揃っていないと、エラーになるっぽい。
「世代(※)」はだいたいこんな感じ
- .NET Framework 1.0
- .NET Framework 1.1
- .NET Framework 2.0〜3.5
- .NET Framework 4.0〜4.5.2
- .NET Framework 4.6〜
詳しくはこのページの「.NET Frameworkの各バージョン同士の関係」を参照
つまりこういうことです
- .NET Framework 4.6.1 ランタイム
- .NET Framework 4.5.2 SDK
アウト!(これが現象を発見した環境)
- .NET Framework 4.5.1 ランタイム
- .NET Framework 4.5.2 SDK
セーフ!
- .NET Framework 4.5.2 ランタイム
- .NET Framework 4.6.1 SDK
こんなことあんのか?でもやめとけ!
注意
ほっといてもWindowsUpdateのタイミング次第でなりえるぞ!気をつけろ!
まとめ
ナデラさんが・・・ナデラさんがきっとなんとかしてくれる!