Visual Studio(2008)の「クリーンソリューション」オプション


回答:


109

ソリューションに関連付けられているすべてのコンパイル済みファイルと一時ファイルを削除します。これにより、変更されたファイルだけが再コンパイルされるのではなく、次のビルドが完全なビルドになります。


3
次に、「Build」と「Rebuild All」の違いは何ですか?
チャド

2
3つのプロジェクトがあるソリューションを想像してみてください。ビルドは、前回のビルド以降に変更されたプロジェクトのみをコンパイルします。再構築、すべてをコンパイルします。
BigJump '19年

18
Rebuild Solutionは、Clean Solutionを実行してからBuild Solutionを実行するのと基本的に同じですか?
ジョーイグリーン

5
Rebuild Solutionは実際にビルドの前にクリーンを実行しますか、それともクリーンが最初に行われたかのようにすべてをビルドしますか?
ホーマー

2
@JoeyGreenいいえ。ソリューションをクリーンアップしてビルドすると、最初にすべてのプロジェクトがクリーンアップされ、次にすべてのプロジェクトがビルドされます。Rebuildする場合は、一度に1つのプロジェクトを取り、それをクリーンアップしてビルドします。一度、Clean&Buildの代わりにRebuildを使用すると、奇妙な問題が発生します。これは、一部のプロジェクトの依存関係が原因です...
relaxxx

61

以前のコンパイル/ビルド中に生成されたオブジェクトコードをすべて削除します。以下の種類のファイルをすべて削除します。

* .obj-オブジェクトコード

* .pdb-プログラムデバッグデータベースファイル

* .bsc-ソースブラウザデータベース

* .ilk-インクリメンタルリンカーファイル

* .sbr-ソースブラウザの中間ファイル

* .idb-依存関係ファイルを再構築します

* .lib-ライブラリファイル

* .exe-実行可能ファイル

JFYI-[すべて再構築]コマンドを使用しても、このすべてが実行され、ソースファイルの完全なセットが構築されます。

-広告


11

私はこれをコメントにしたかったのですが、どうやら50人の担当者が必要です。

他の人に警告するために、私は再構築ソリューションが自分でクリーンアップしないことを発見しました。私はしばしばそれをクリーンアップしてそれが機能するためにビルド/再構築する必要がないでしょう-再構築はクリーンアップなしで完全なコンパイルを強制し、すべてをオーバーライドしますが、余分なものを取り除きません。

他の誰かが同じ問題を抱えている場合の一般的な観察だけで、再構築がコード的に何を行うかについては調べませんでした。


2
私はこの声明に同意します-再構築前のクリーンアップが必要な場合にこの動作を何度も見ました
Swordblaster '17

5

これは古い記事ですが、言及する価値があると思いました。Silverlightのコーディングでは、通常、BlendとVS2010を同時に開いています。そのため、VS2010がおかしくなり、IntelliSenseが何かがどこにあるのかを見つけることができず、誤って多くのエラーを強調表示することがあります。

ソリューションをクリーニングすると、これが修正されます。



2

溶液を洗浄するときは注意してください。ソリューションをクリーンアップし、プロジェクトでライブラリ(nhibernateなど)を参照し、そのライブラリに依存関係(たとえばiesi.collections)がある場合、再ビルドしてもiesi.collectionsが削除されることがわかりますソリューションとあなたは再びあなたのフォルダにそのdllを置く必要があります。または、iesi.collectionsを参照して、プロパティからcopy-local:yesオプションを選択することもできます


5
すべてのライブラリを「Bin」以外の特定のフォルダに移動したり、NuGetを使用したりしても、これは問題になりません
bbqchickenrobot

確かにそうではありませんが、通常はbinフォルダにあります(nugetを使用してfluentnhibernateを取得してみて、iesi.collectionsがそこにないことを確認できます)
ersanbilik

0

ちなみに、CleanもRebuildも、ビルド前のコマンド中にコピーされたファイルなど、ビルド以外のファイルは削除しません。私はそれについて混乱していました!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.