Visual StudioのBuild Solution、Rebuild Solution、Clean Solutionの違いは何ですか?
これらのそれぞれを使用する適切な時期はいつですか?
(リンクは devenv.exe コマンドラインスイッチへのリンクですが、メニュー項目と同じです。)
解決策の構築:変更されたコードファイル(DLLとEXE)をコンパイルします。
再構築:コードが変更されたかどうかにかかわらず、すべてのコンパイル済みファイルを削除し、それらを再度コンパイルします。
クリーンソリューション:すべてのコンパイル済みファイル(DLLおよびEXEファイル)を削除します。
あなたはこのYouTubeビデオを見ることができます(私は違いを実証しました)ここであなたを助けるのに役立つ視覚的な表現です同じことをもっと詳しく分析する。
Rebuildと(Clean + Build)の違いは、これについても混乱があるようです。
違いは、ビルドとクリーンのシーケンスがすべてのプロジェクトで行われる方法です。ソリューションに2つのプロジェクト、「proj1」と「proj2」があるとします。あなたが再構築をするならば、それは「proj1」をとります、「proj1」のためにコンパイルされたファイルをきれいにして(削除して)、そしてそれを構築します。その後、2番目のプロジェクト「proj2」を取り、「proj2」のコンパイル済みファイルをクリーンアップして「proj2」をコンパイルします。
しかし、「クリーン」でビルドすると、まず「proj1」と「proj2」用にコンパイルされたファイルをすべて削除し、次に「proj1」をビルドしてから「proj2」をビルドします。
から取られた このリンク :
ビルドとは、前回のビルド以降に変更されたソースファイルのみをコンパイルしてリンクすることを意味します。一方、リビルドとは、変更の有無にかかわらずすべてのソースファイルをコンパイルしてリンクすることを意味します。ビルドは普通のことで、速くなります。プロジェクトターゲットコンポーネントのバージョンが同期しなくなり、ビルドを成功させるために再構築が必要になることがあります。実際には、清掃する必要はありません。
ビルドソリューション - ファイルを変更したアセンブリをビルドします。議会に変更がなければ、それは再構築されません。中間ファイルも削除されません。
最も一般的に使用されています。
リビルドソリューション - 変更に関係なくすべてのアセンブリをリビルドしますが、中間ファイルは残します。
Visual Studioが最新のアセンブリに変更を組み込んでいないことに気付いたときに使用されます。時々Visual Studioは間違いを犯します。
きれいな解決策 - すべての中間ファイルを削除する。
他のすべてが失敗して、あなたがすべてをきれいにして、新しく始める必要があるとき、使われます。
ビルドソリューション - ファイルを変更したアセンブリをビルドします。議会に変更がなければ、それは再構築されません。中間ファイルも削除されません。
ソリューションを再構築 以前に行ったことを無視して、ソリューションを最初からクリーンアップしてから構築します。
Clean Solution は、bin/objディレクトリからすべてのコンパイル済みファイル(つまり、EXEファイルとDLLファイル)を削除します。
私はRebuildが最初にクリーンを実行し、次にビルドを実行すると考えています。おそらく私は間違っています...コメント?
ソリューションをビルドすると、ソリューション内の変更されたプロジェクトがすべてビルドされます。再ビルドはすべてのプロジェクトをビルドしますが、クリーンなソリューションはすべての一時ファイルを削除し、次のビルドが完了するようにします。
ソリューションを構築 - ファイルを変更しているプロジェクトをいくつか構築してアプリケーションを構築します。また、既存のバイナリファイルを消去せず、binまたはobjフォルダ内の更新されたアセンブリを置き換えるだけです。
ソリューションを再構築する - ソリューションを再構築することで、すべてのプロジェクトをそれらをクリーンにしてソリューションで利用できるようにして、アプリケーション全体を構築できます。構築する前に、binとobjフォルダから全てのバイナリファイルをクリアします。
クリーンソリューション - クリーンソリューションは、binおよびobjフォルダからすべてのバイナリファイルを消去するだけです。
私が人々が除外していると思う1つの大きなことは、ビルドとクリーンアップがどちらもプロジェクト/ソリューションに関するVisual Studioの知識に基づいて実行されるタスクであるということです。私は、Cleanが機能しない、残っているファイルを残さない、あるいは信頼できない、というのが多くの不満を持っています。
Cleanは、Visual Studioまたはコンパイラ自体が実際に作成したファイルやディレクトリのみを削除します。あなたがあなた自身のファイルをコピーするか、ファイル/フォルダー構造が外部のツールまたはソースから作成されるならば、それからVisual Studioは「それらが存在することを知らない」ので、それらに触れないでください。
クリーン操作が基本的に "del *。*"を実行したと想像できますか?これは壊滅的な可能性があります。
ビルド 変更または必要なプロジェクトでコンパイルを実行します。
再構築 変更や必要なことに関係なくコンパイルを実行します。
クリーン 過去に作成したファイル/フォルダを削除しますが、最初は関係ないものはすべて残します。
これがもう少し詳しく説明されて助けになることを願っています。
ソリューションを構築します
これはインクリメンタルビルドを実行します。言い換えれば、それは変更されたコードファイルのみをビルドします。変更されていなければ、それらのファイルは変更されません。
ソリューションを再構築
これにより、現在コンパイルされているすべてのファイル(exeとDLL)が削除され、ファイルにコードの変更があるかどうかにかかわらず、すべてが最初から構築されます。
きれいな解決策メニュー
このメニューはbin/objディレクトリから全てのコンパイルされたファイル(すなわち、EXEとDLL)を削除します。
再構築=クリーン+ビルド
ソリューションの構築は、ソリューション内で変更されたプロジェクトのみを構築し、変更されていないアセンブリには影響しません。
ReBuildは最初にソリューションからすべてのアセンブリをクリーンアップし、次に行われた変更に関係なくソリューション全体をビルドします。
きれいにしなさい、単に解決策をきれいにする。
私が知っているのはCleanだけが "make clean"が行っていたことをしていないということです - ソリューションをきれいにした場合、objとbinファイル/フォルダが削除されるように削除します。私の経験では、Clean and BuildやRebuildが コンパイルすることが知られている のようなソース上でまだ奇妙なエラーを起こすことがよくあります。構築します。