1348 Stimmen

Der 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 für den Einsatz eines jeden dieser Mittel?

1142voto

Jon Skeet Punkte 1325502
  • Lösung bauen führt einen inkrementellen Build durch: Wenn er nicht denken ein Projekt umgestalten muss, wird es das nicht tun. Es kann auch teilweise erstellte Teile des Projekts verwenden, wenn sie sich nicht geändert haben (ich weiß nicht, wie weit es dabei geht)
  • Rebuild-Lösung bereinigt und baut dann die Lösung von Grund auf neu auf und ignoriert alles, was es vorher gemacht hat. Der Unterschied zu "Bereinigen, gefolgt von Erstellen" besteht darin, dass bei "Neu erstellen" jedes Projekt einzeln bereinigt und dann erstellt wird, anstatt alle zu bereinigen und dann zu erstellen.
  • Saubere Lösung werden die Artefakte des vorherigen Builds entfernt. Wenn es andere Dateien in den Build-Zielverzeichnissen (bin und obj) gibt, werden diese möglicherweise nicht entfernt, aber die eigentlichen Build-Artefakte schon. Ich habe gesehen, dass das Verhalten für diese variieren - manchmal löschen ziemlich gründlich und manchmal nicht - aber ich gebe VS den Vorteil der Zweifel für den Moment :)

(Die Links verweisen auf die devenv.exe Befehlszeilenschalter, aber sie tun dasselbe wie die Menüpunkte).

532voto

Shivprasad Koirala Punkte 25296

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

Wiederherstellen: Löscht alle kompilierten Dateien und kompiliert sie neu, unabhängig davon, ob der Code geändert wurde 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# Interview Fragen mit Antworten) ), wo ich die Unterschiede aufgezeigt habe, und unten finden Sie visuelle Darstellungen, die Ihnen helfen werden, dieselben detaillierter zu analysieren.

Build vs Rebuild

Der Unterschied zwischen Rebuild und (Clean + Build), da es auch hier einige Verwirrung zu geben scheint:

Der Unterschied liegt in der Art und Weise, wie die Build- und Clean-Sequenz für jedes Projekt abläuft. Angenommen, Ihre Lösung hat zwei Projekte, "proj1" und "proj2". Wenn Sie einen Rebuild durchführen, wird "proj1" genommen, die kompilierten Dateien für "proj1" bereinigt (gelöscht) und gebaut. Danach wird das zweite Projekt "proj2" genommen, die kompilierten Dateien für "proj2" bereinigt und "proj2" kompiliert.

Wenn Sie jedoch ein "clean" und "build" durchführen, werden zuerst alle kompilierten Dateien für "proj1" und "proj2" gelöscht und dann wird zuerst "proj1" und dann "proj2" gebaut.

Rebuild Vs Clean

157voto

Matthew Jones Punkte 24876

より引用 このリンク :

Erstellen bedeutet, dass nur der Quellcode kompiliert und verknüpft wird. seit dem letzten Build geändert haben, während Rebuild bedeutet, alle Quelldateien zu kompilieren und zu linken Quelldateien kompilieren und verlinken, unabhängig davon, ob sie geändert wurden oder nicht. Übersetzen ist die normale zu tun und ist schneller. Manchmal die Versionen der Projektziel Komponenten aus dem Gleichgewicht geraten und ist ein Rebuild notwendig, damit der Build erfolgreich zu machen. In der Praxis werden Sie nie reinigen müssen.

60voto

Justin Niessner Punkte 235353

Lösung bauen - Baut alle Baugruppen, die geänderte Dateien haben. Wenn eine Baugruppe keine Änderungen aufweist, wird sie nicht neu erstellt. Es werden auch keine Zwischendateien gelöscht.

Am häufigsten verwendet.

Rebuild-Lösung - Erzeugt alle Baugruppen unabhängig von den Änderungen neu, lässt aber Zwischendateien zurück.

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

Saubere Lösung - Löschen Sie alle Zwischendateien.

Wird verwendet, wenn alles andere versagt und Sie alles aufräumen und neu beginnen müssen.

21voto

Ken Richards Punkte 2821

Ich stelle mir Rebuild einfach so vor, dass ich zuerst Clean und dann Build durchführe. Vielleicht liege ich falsch ... Kommentare?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X