visual-studio - 価格 - visual studio 無料




Visual Studioのビルドソリューション、リビルドソリューション、クリーンソリューションの違いは? (8)

Visual Studioのビルドソリューション、リビルドソリューション、およびクリーンソリューションの違いは何ですか?

これらのそれぞれを使用する適切な時期はいつですか?


このリンクから取られた:

ビルドとは、最後のビルド以降に変更されたソースファイルのみをコンパイルおよびリンクすることを意味します。リビルドは、変更されているかどうかにかかわらず、すべてのソースファイルをコンパイルおよびリンクします。 ビルドは通常のことであり、高速です。 場合によっては、プロジェクトターゲットコンポーネントのバージョンが同期しなくなり、ビルドを成功させるために再構築が必要になることがあります。 実際には、きれいにする必要はありません。


ビルドソリューション - ビルドソリューションは、ファイルが変更されているプロジェクトの数を増やしてアプリケーションを構築します。 また、既存のバイナリファイルは消去されず、binまたはobjフォルダ内の更新されたアセンブリのみが置き換えられます。

ソリューションの再構築 - ソリューションを再構築すると、 ソリューション内のすべてのプロジェクトをクリーンアップしてビルドすることで、アプリケーション全体が構築されます。 ビルドする前に、binとobjフォルダからすべてのバイナリファイルをクリアします。

クリーンソリューション - クリーンソリューションは、binとobjフォルダからすべてのバイナリファイルをクリアするだけです。


ビルドソリューション - ファイルを変更したアセンブリをビルドします。 アセンブリに変更がない場合、アセンブリは再構築されません。 また、中間ファイルも削除しません。

最も一般的に使用されます。

ソリューションの再構築 - 変更に関係なくすべてのアセンブリを再構築しますが、中間ファイルは残ります。

Visual Studioで最新のアセンブリに変更が反映されていないことがわかったときに使用されます。 ときどきVisual Studioは間違いを犯します。

クリーンソリューション - すべての中間ファイル削除し、変更に関係なくすべてのアセンブリを再構築する

他のすべてが失敗し、すべてをきれいにして新鮮なものから始めなければならないときに使用されます。


ビルドソリューション

これによりインクリメンタルビルドが実行されます。 つまり、変更されたコードファイルのみを構築します。 変更されていない場合、ファイルには触れません。

ソリューションの再構築

これにより、現在コンパイルされているすべてのファイル(exeとDLL)が削除され、ファイルにコードが変更されているかどうかに関係なく、最初からすべてがビルドされます。

クリーンソリューションメニュー

このメニューはbin / objディレクトリからコンパイルされたすべてのファイル(つまり、EXEとDLL)を削除します。

再ビルド=クリーン+ビルド


ビルドソリューションは、変更されたソリューション内のプロジェクトを構築します。 Rebuildは、何があってもすべてのプロジェクトをビルドします。クリーンなソリューションは、すべての一時ファイルを削除し、次のビルドが完了したことを保証します。


ビルドソリューション:変更されたコードファイル(DLLとEXE)をコンパイルします。

Rebuild:コードが変更されたかどうかにかかわらず、コンパイルされたファイルをすべて削除し、コンパイルし直します。

クリーンなソリューション:すべてのコンパイル済みファイル(DLLおよびEXEファイル)を削除します。

このYouTubeのビデオを見ることができます( Visual Studioのビルド対リビルド対クリーン(C#のインタビューの質問と回答) )。ここで私は違いを実証し、以下は視覚的な表現で、より詳細に分析するのに役立ちます。

リビルドと(クリーン+ビルド)の違いは、これにもいくつかの混乱があるように思われるためです。

違いは、すべてのプロジェクトでビルドとクリーンシーケンスが行われる方法です。 ソリューションに「proj1」と「proj2」の2つのプロジェクトがあるとします。 リビルドを行うと、 "proj1"が取り込まれ、 "proj1"のコンパイル済みファイルがクリーン(削除)され、ビルドされます。 その後、2番目のプロジェクト "proj2"、 "proj2"のためのコンパイル済みファイルのクリーンアップ、 "proj2"のコンパイルが行われます。

しかし、 "クリーン"ビルドを行うと、まず "proj1"と "proj2"のコンパイル済みファイルをすべて削除し、次に "proj1"とそれに続く "proj2"をビルドします。


私が知っているのは、クリーンは、 "クリーンな"ものをやっていないことです - 私はそれがobjとbinファイル/フォルダを削除すると期待していたソリューションをクリーンアップすると、ソースが新しくチェックアウトされたものです。 私の経験では、CleanとBuildまたはRebuildがまだコンパイルされているソース上で奇妙なエラーを生成し、必要なものがbin / objフォルダの手動削除である場合があります。


私はちょうどリビルドの最初のクリーンとビルドを実行すると考えています。 おそらく私は間違っています...コメント?





visual-studio