なぜか起きるXAMLエラー 「(クラス名)が(名前空間名)名前空間に存在しません」への対処法

Visual Studio, WPF, XAML

Visual Studio 2015でWPFを用いてアプリをつくっているとしばしば遭遇するXAMLデザイナーのエラー:

(クラス名)が(名前空間名)名前空間に存在しません

XAMLエディタ上で、特に問題のなさそうなコントロールのタグに波線が引かれ、波線にマウスポインタを合わせるとこのエラー文が表示される。

XAMLデザイナーのエラーであるため、画面イメージが表示されず、UI作成作業が大きく妨げられてしまう。

本当に意味のあるエラーならよいのだ。

問題は、ビルドが普通に通り、アプリを実行しても特に問題がないという点。

プログラムに特に問題はなく、むしろ問題はXAMLデザイナーの方にある。

厄介なことに、XAMLデザイナープロセスを一度切って再び立ち上げても直らないし、Visual Studioを再起動しても直らない。

そんな折に見つけたのがこちらのページ。ページの下部にはこうある。

Configuration Manager: Set all projects in debug and release configurations to have the same bit settings, for me that was forcing EVERYTHING to 64bit (because 32bit computers are out of style). Then close all documents. then Clean solution, then rebuild solution. After that the test opening of XAML documents behaved.

つまり、次の手順を踏むということだ。

  1. ソリューション内のすべてのプロジェクトのビルド構成をすべて32bitまたは64bitのどちらかに統一する。
  2. 開いているすべてのファイルを閉じる。
  3. 「ソリューションのクリーン」を実行する。
  4. 「ソリューションのリビルド」を実行する。
  5. 問題のXAMLファイルを開き、エラーが発生しなくなっていればOK。

自分はこの手順を試してみたところ、エラーは起きなくなり、XAMLデザイナー上で視覚的に画面が作れるようになった。