Visual Studio 2005 で厄介な問題が発生しました...再構築すると、再構築ソリューションを実行しても、エラーや警告が表示されずに戻ってくることがありますが、後で別のコード ファイルを編集すると、変更しなくても問題が発生します。それを再構築すると、その他のファイルでエラーまたは警告が見つかります。明らかに、以前の Rebuild Solution はそのファイルを再コンパイルしませんでした! VS にすべてのファイルを完全に再コンパイルさせるにはどうすればよいですか?
6 に答える
ソリューションに複数のプロジェクトがあり、参照が混同されている場合に、これが発生するのを見たことがあります。
ソリューションに Common、Business、Data、UI の 4 つのプロジェクトがあるとします。Common が他の 3 つのプロジェクトから参照されているとします。
私たちが望むのは、Common が他の 3 つのプロジェクトからの「プロジェクト リファレンス」になることです。これらのプロジェクトは、Common のビルド出力ディレクトリからコピーを取得します。
しかし、時々、プロジェクトの 1 つが参照を混同することがあります。この場合、UI がDataのビルド出力ディレクトリにある Common のコピーを参照し始めるとします。現在、「データ」をコンパイルせずに「UI」をコンパイルする変更は、UI の依存関係である「共通」の 2 つのバージョン (互換性がない可能性があります) になります。
もう 1 つのシナリオは、「lib」ディレクトリなどからのバイナリへの参照です。次に、プロジェクトの 1 つが、lib ではなくビルド出力の場所を参照することになります。
何が原因なのかはわかりませんが、残念ながらいつも見ています。
修正は、各プロジェクトの参照を調べて、間違った場所を指している 1 つ (または複数) を見つけることです。
私はここで Guy Starbuck と一緒にいますが、Rebuild Solution は Clean Solution を実行し、次に Build Solution を実行することになっていることを付け加えておきます。しかし、VS 2005 はこの点でひどいものになる可能性があります。いくつかの再構築の後に機能し始めることがあります。2008 にアップグレードできない場合は、bin フォルダーを手動でクリアすることを検討してください。
再構築する前にソリューションをクリーンアップすると役立つ場合があります。ソリューション エクスプローラーでソリューションを右クリックし、[クリーン ソリューション] を選択します。これにより、一時ファイルが削除され、bin フォルダーと obj フォルダーがクリアされるため、すべてが再構築されます。
警告の種類によっては、正しく思い出すことができません。
たとえば、XHTML 準拠の警告メッセージは、ファイルが開いているときにのみ表示されます。VS 内の許容値の設定を確認して、変更できるかどうかを確認してください。
これは奇妙に思えます。Rebuild は変更に関係なくすべてをビルドし、Build は変更されたもののみをビルドする必要があります。
説明した動作は、変更されていないファイルによって参照されているものを変更したため、現在は正しくない場合にのみ発生するはずです。
これは構成マネージャーに関連していますか? そこで、ソリューション ビルド内のプロジェクトを選択できます。これが役立つかどうかはわかりません。