web-dev-qa-db-ja.com

参照プロジェクトがコンパイル時に「失われる」

サービス(メインプロジェクト)とロガーの2つのプロジェクトを持つC#ソリューションがあります。サービスはロガーのクラスを使用します。サービスプロジェクト内のロガープロジェクトへの参照を追加しました。設計時には、オートコンプリートは正常に機能します。ロガーのクラスが表示され、使用する参照は適切に色付けされます。

ソリューションを再構築すると、問題が発生します。参照が認識されなくなりました:「現在のコンテキストに名前 'Logging'は存在しません」、クラスはオートコンプリートに存在しなくなりました。

再起動し、すべてのキャッシュをクリアし、これがマシン上で実行されているVS 2010の唯一のインスタンスであることを確認しました。

私が行方不明になっていることは明らかです(明らかに)?

97
Bob Kaufman

プロジェクトプロパティで各プロジェクトのビルドタイプを確認します-どちらかが.NET XX - Client Profileに対してビルドするように設定されるに違いありません。

一貫性のないバージョン、特に一方がClient Profileで、もう一方がそうでない場合、設計時には機能しますが、コンパイル時には失敗します。本当の落とし穴。

私にとってVisual Studio 2010には面白いことがあります。プロジェクトをClient Profileにランダムに設定し続けることがあります。プロジェクトを作成するときと、数日後に設定することもあります。おそらく私が誤って押しているキーボードショートカット...

156
joshcomley