.NET MAUIを試していて「現在のコンテキストに ‘InitializeComponent’ という名前は存在しません。」とエラーが出たので対処方法を調べました

スポンサーリンク

備忘録として記事にしておきます。

タイトルの通り、.NET MAUI Preview 5を試していたら
「現在のコンテキストに ‘InitializeComponent’ という名前は存在しません。」
というエラーが出て、ビルドできなくなってしまいました。

きっかけは、新しいページを追加するためにコンテンツビュー(.xamlと.xaml.cs)を追加したことでしょうか。
なんと、新しく追加したコンテンツビューだけではなく、最初からあったMainPage.xaml.csでも
「現在のコンテキストに ‘InitializeComponent’ という名前は存在しません。」
とエラーが出るようになってしまいました。

調べてみたところ、このエラーが出る典型的な理由は、.xamlと.xaml.csでネームスペースやクラス名が異なってしまっていることのようです。
それらを確認しましたが、打ち間違いはなく、コピー&ペーストしても変わりませんでした。
そもそも何も変更していないMainPage.xaml.csでエラーが出る時点でこれが原因ではなさそうです。

では何が原因だったかというと、名前空間等を変えた場合に起きる仕様(?)のようです。
対策は、エラーが出ている
InitializeComponent();
の行をコメントアウトしてからリビルドします。
リビルドしてから InitializeComponent(); をアンコメントすると、エラーが出なくなりました。
私のように知識のない人には考え付くのが難しい対策です…

以上の対策方法は、trapemiyaの日記さんの「’InitializeComponent’ は現在のコンテキスト内に存在しません。」の対処方法を参考にさせていただきました。
11年前の投稿ですが助かりました。ありがとうございます。

コメント

タイトルとURLをコピーしました