Frage Unterschied zwischen Build Solution, Rebuild Solution und Clean Solution in Visual Studio?


Was ist der Unterschied zwischen Build Solution, Rebuild Solution und Clean Solution in Visual Studio?

Wann ist der richtige Zeitpunkt, um jede dieser Möglichkeiten zu nutzen?


897
2018-06-22 18:17


Ursprung


Antworten:


  • Lösung erstellen führt einen inkrementellen Build durch: wenn nicht denken es muss ein Projekt neu erstellen, wird es nicht. Es kann auch teilweise gebaute Bits des Projekts verwenden, wenn sie sich nicht geändert haben (ich weiß nicht, wie weit es das dauert)
  • Lösung neu erstellen wird gereinigt und dann die Lösung von Grund auf neu erstellt und ignoriert alles, was es vorher getan hat.
  • Saubere Lösung entfernt die Build-Artefakte aus dem vorherigen Build. Wenn sich in den Build-Zielverzeichnissen (bin und obj) noch andere Dateien befinden, werden diese möglicherweise nicht entfernt, aber tatsächliche Build-Artefakte sind. Ich habe gesehen, dass das Verhalten dafür unterschiedlich ist - manchmal ziemlich gründlich löschend und manchmal nicht - aber ich gebe VS im Moment den Vorteil des Zweifels :)

(Die Links sind zu den devenv.exe Befehlszeilenschalter, aber sie tun das gleiche wie die Menüpunkte.)


720
2018-06-22 18:21



Build-Lösung: Kompiliert Code-Dateien (DLL und EXE), die geändert werden.

Rebuild: Löscht alle kompilierten Dateien und kompiliert sie erneut, unabhängig davon, ob sich der Code geändert hat oder nicht.

Saubere Lösung: Löscht alle kompilierten Dateien (DLL und EXE-Datei).

Sie können dieses YouTube-Video sehen (Visual Studio Build vs. Rebuild vs. Clean (C # Interviewfragen mit Antworten)) wo ich die Unterschiede gezeigt habe und unten sind visuelle Darstellungen, die Ihnen helfen werden, die Unterschiede genauer zu analysieren.

Build vs Rebuild

Der Unterschied zwischen Rebuild vs. (Clean + Build), denn auch hier scheint es einige Verwirrung zu geben:

Der Unterschied ist die Art und Weise, wie die Build- und Clean-Sequenz für jedes Projekt passiert. Nehmen wir an, Ihre Lösung hat zwei Projekte, "proj1" und "proj2". Wenn Sie eine Neuerstellung durchführen, wird "proj1" benötigt, die kompilierten Dateien für "proj1" werden bereinigt (gelöscht) und erstellt. Danach wird das zweite Projekt "proj2" benötigt, die kompilierten Dateien für "proj2" werden gelöscht und "proj2" kompiliert.

Aber wenn Sie ein "clean" und "build" machen, werden zuerst alle kompilierten Dateien für "proj1" und "proj2" gelöscht und dann wird "proj1" zuerst erstellt, gefolgt von "proj2".

Rebuild Vs Clean


355
2017-07-22 06:24



Genommen von dieser Link:

Build bedeutet, dass nur die Quelldateien kompiliert und verknüpft werden, die sich geändert haben   seit dem letzten Build, während Rebuild   bedeutet kompilieren und alle Quellen verknüpfen   Dateien unabhängig davon, ob sie   geändert oder nicht. Build ist normal   was zu tun ist und schneller ist. Manchmal   die Versionen des Projektziels   Komponenten können nicht mehr synchron sein und   Umbauen ist notwendig, um den Build zu machen   erfolgreich. In der Praxis, du nie   muss gereinigt werden.


135
2018-06-22 18:19



Lösung erstellen - Erstellt alle Assemblys, die Dateien geändert haben. Wenn eine Assembly keine Änderungen enthält, wird sie nicht erneut erstellt. Außerdem werden keine Zwischendateien gelöscht.

Am häufigsten verwendet.

Lösung neu erstellen - Baut alle Assemblies unabhängig von Änderungen neu auf, hinterlässt jedoch Zwischendateien.

Wird verwendet, wenn Sie feststellen, dass Visual Studio Ihre Änderungen nicht in die neueste Assembly übernommen hat. Manchmal macht Visual Studio Fehler.

Saubere Lösung - Löschen Sie alle Zwischendateien und erstellen Sie alle Assemblys unabhängig von Änderungen neu

Wird verwendet, wenn alles andere fehlschlägt und Sie alles aufräumen und neu starten müssen.


27
2018-06-22 18:20



Lösung erstellen - Erstellt alle Assemblys, die Dateien geändert haben. Wenn eine Assembly keine Änderungen enthält, wird sie nicht erneut erstellt. Außerdem werden keine Zwischendateien gelöscht.

Lösung neu erstellen wird gereinigt und dann die Lösung von Grund auf neu erstellt und ignoriert alles, was es vorher getan hat

Saubere Lösung löscht alle kompilierten Dateien (d. h. EXEs und DLLs) aus dem Verzeichnis bin / obj.


13
2017-09-21 16:43



Ich denke nur an Rebuild, das zuerst die Clean und dann die Build ausführt. Vielleicht irre ich mich ... Kommentare?


12
2018-06-22 18:25



Lösung erstellen - Build-Lösung wird Ihre Anwendung mit dem Erstellen der Anzahl der Projekte erstellen, die jede Dateiänderung haben. Und es löscht keine vorhandenen Binärdateien und ersetzt nur aktualisierte Baugruppen im Ordner bin oder obj.

Lösung neu erstellen - Mit der Rebuild-Lösung wird Ihre gesamte Anwendung erstellt, indem alle in Ihrer Lösung vorhandenen Projekte erstellt und gereinigt werden. Vor dem Erstellen löscht es alle Binärdateien aus dem Ordner bin und obj.

Saubere Lösung - Clean solution löscht nur alle Binärdateien aus dem bin- und obj-Ordner.


7
2018-06-13 12:53



Build Solution erstellt alle Projekte in der Lösung, die sich geändert haben. Rebuild erstellt alle Projekte, egal was passiert. Clean Solution entfernt alle temporären Dateien und stellt sicher, dass der nächste Build abgeschlossen ist.


6
2018-06-22 18:20



Lösung erstellen

Dies führt einen inkrementellen Build durch. Mit anderen Worten, es werden nur Codedateien erstellt, die sich geändert haben. Wenn sie sich nicht geändert haben, werden diese Dateien nicht berührt.

Lösung neu erstellen

Dies löscht alle aktuell kompilierten Dateien (d. H. EXE und DLLs) und baut alles von Grund auf neu, unabhängig davon, ob Codeänderungen in der Datei vorhanden sind oder nicht.

Sauberes Lösungsmenü

Dieses Menü löscht alle kompilierten Dateien (d. H. EXEs und DLLs) aus dem Verzeichnis bin / obj.

Rebuild = Clean + Build


3
2017-11-09 09:28



Build Solution erstellt nur die Projekte, die sich in der Lösung geändert haben, und wirkt sich nicht auf Baugruppen aus, die nicht geändert wurden.

ReBuild reinigt zuerst alle Assemblys von der Lösung und erstellt dann eine vollständige Lösung, unabhängig von den vorgenommenen Änderungen.

Reinigen, reinigt einfach die Lösung.


1
2018-06-19 17:31