trapemiyaの日記

hatenablogが新しくなったんで新規一転また2019年1月からちょこちょこ書いてます。C#中心のプログラミングに関するお話です。

「'InitializeComponent' は現在のコンテキスト内に存在しません。」の対処方法

クラスの名前空間を変更した場合などに表記のエラーメッセージが表示されることがあると思います。ご存知かと思いますがInitializeComponentメソッドはコンパイル時に自動的に作成されます。しかしこの場合、コンパイルでエラーになっているのですから正しい名前空間を持ったInitializeComponentメソッドが作成されません。InitializeComponentメソッドを正しく生成し直したいのに自分自分自身が正しくないために自動生成されないわけです。
で、どのように回避するかといいますと、エラーとなっている、
InitializeComponent();
の行をコメントアウトします。そしてソリューションをリビルドします。これでコンパイルが通り、正しい名前空間のInitializeComponent()メソッドが生成されます。この後、先ほどコメントアウトしたInitializeComponent()のコメントアウトを外し、もう一度コンパイルすれば完了です。
以上、ちょっとした小ネタでした。

#このあたりVisual Studioでインテリジェントに見てくれないかなぁ・・・。今度提案してみようかな?