Beide Projekteinstellungen erlauben mir, benutzerdefinierte Befehle auszuführen. Was sind die Vorteile oder Nachteile von jedem?Was ist der Unterschied zwischen einem benutzerdefinierten Build-Schritt und einem Post-Build-Ereignis?
Antwort
Großer Unterschied. In einem benutzerdefinierten Build-Schritt können Sie Abhängigkeiten und Ausgaben angeben. Damit kann das Erstellungssystem bestimmen, wenn den Schritt ausführt und überspringt, wenn die Ausgabe bereits auf dem neuesten Stand ist. Ein Post-Build-Ereignis wird immer ausgeführt, wenn das Projekt erstellt und sein Timing festgelegt ist.
scheint @Hans Antwort hat es geschaltet, der Hauptunterschied ist, dass keine Build-Ereignisse auftreten, wenn keine Dateien erstellt werden müssen.
aus der MSDN-Dokumentation:
Build-Ereignisse und benutzerdefinierten Schritte bauen in der folgenden Reihenfolge ausgeführt werden zusammen mit anderen Build Schritten:
Pre-Build event
Custom build tools on individual files
MIDL
Resource compiler
The C/C++ compiler
Pre-Link event
Linker or Librarian (as appropriate)
Manifest Tool
BSCMake
Custom build step on the project
Post-Build event
Der benutzerdefinierte Schritt auf dem Projekt und einen Post -build-Ereignis wird nach Abschluss aller anderen Build-Prozesse sequenziell ausgeführt.
Build-Ereignisse werden nur ausgeführt, wenn der Build diese Punkte im Build-Prozess erfolgreich erreicht. Wenn ein Fehler in der Erstellung auftritt, wird das Post-Build-Ereignis nicht auftreten; Wenn der Fehler vor der Verknüpfungsphase auftritt, tritt weder das Pre-Link- noch das Post-Build-Ereignis auf. Wenn keine Dateien verknüpft werden müssen, tritt das Pre-Link-Ereignis darüber hinaus nicht auf. Das Pre-Link-Ereignis ist auch nicht in Projekten verfügbar, die keinen Verknüpfungsschritt enthalten. Wenn keine Dateien erstellt werden müssen, werden keine Build-Ereignisse auftreten.
innerhalb der Visual Studio C++ Entwicklungsumgebung, gibt es drei grundlegende Möglichkeiten, um den Build-Prozess anpassen:
Maßarbeit Schritte Ein benutzerdefinierter Build-Schritt ist eine Build-Regel mit einem Projekt zugeordnet ist. Ein benutzerdefinierter Build-Schritt kann eine auszuführende Befehlszeile, zusätzliche Eingabe- oder Ausgabedateien und eine anzuzeigende Meldung angeben. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen eines benutzerdefinierten Buildschritts zu MSBuild-Projekten.
Benutzerdefinierte Build-Tools Ein benutzerdefiniertes Build-Tool ist eine Build-Regel, die einer oder mehreren Dateien zugeordnet ist. Ein benutzerdefinierter Build-Schritt kann Eingabedateien an ein benutzerdefiniertes Build-Tool übergeben, das zu einer oder mehreren Ausgabedateien führt. Zum Beispiel werden die Hilfedateien in einer MFC-Anwendung mit einem benutzerdefinierten Build-Tool erstellt. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen benutzerdefinierter Build-Tools zu MSBuild-Projekten und Angeben benutzerdefinierter Build-Tools. Build-Ereignisse
Build-Ereignisse können Sie den Build eines Projekts anpassen. Es gibt drei Build-Ereignisse: Pre-Build, Pre-Link und Post-Build. Mit einem Build-Ereignis können Sie angeben, dass eine Aktion zu einem bestimmten Zeitpunkt im Erstellungsprozess ausgeführt werden soll. Beispielsweise können Sie ein Build-Ereignis verwenden, um eine Datei mit regsvr32.exe zu registrieren, nachdem das Projekt fertiggestellt wurde. Weitere Informationen finden Sie unter Angeben von Build-Ereignissen.
re: ** Ein Post-Build-Event wird immer ausgeführt ** >>
Pressacco