Was ist der Unterschied zwischen einem benutzerdefinierten Schritt und einem Post-Build-Ereignisse?
-
27-09-2019 - |
Frage
Beide Projekteinstellungen erlauben Sie mir, benutzerdefinierte Befehle auszuführen. Was sind die Vorteile oder Nachteile der einzelnen?
Lösung
Großer Unterschied. Ein benutzerdefinierten Build-Schritt ermöglicht es Ihnen, Abhängigkeiten und Ausgänge angegeben werden. Welches ist das Build-System , wenn bestimmen kann, den Schritt auszuführen und es zu überspringen, wenn die Ausgabe bisher bereits abgelaufen ist. Ein Post-Build-Ereignis immer ausgeführt wird, wenn das Projekt erfordert den Aufbau und der Zeitpunkt festgelegt ist.
Andere Tipps
scheint @Hans Antwort bekam schaltete es, wesentliche Unterschied besteht darin, dass, wenn keine Dateien gebaut werden müssen, werden keine Build-Ereignisse auftreten.
von der MSDN-Dokumentation:
Erstellen Ereignisse und benutzerdefinierte Build-Schritte laufen in der folgenden Reihenfolge 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 Build-Schritt auf dem Projekt und ein Postbuildereignis laufen nacheinander, nachdem alle anderen Build-Prozesse zu beenden.
Build-Ereignisse werden nur ausgeführt, wenn der Build erfolgreich diese Punkte in den Build-Prozess erreicht . Wenn ein Fehler im Build auftritt, tritt das Post-Build-Ereignis wird nicht; wenn der Fehler vor der Verbindungsphase auftritt, weder der Pre-Link noch das Post-Build-Ereignis auftritt. Außerdem, wenn keine Dateien das Pre-Link Ereignis nicht verknüpft werden müssen, auftreten. Die Pre-Link Veranstaltung ist auch in Projekten nicht zur Verfügung, die keinen Link Schritt enthalten. Wenn keine Dateien gebaut werden müssen, treten keine Build-Ereignisse.
Aus der Visual Studio C ++ Entwicklungsumgebung, gibt es drei grundlegende Möglichkeiten, um den Build-Prozess anpassen:
Custom Build Steps Ein benutzerdefinierten Build-Schritt ist eine Build-Regel mit einem Projekt zugeordnet ist. Ein benutzerdefinierter Erstellungsschritt kann eine Befehlszeile angeben, alle zusätzliche Eingabe- oder Ausgabedateien und eine Nachricht anzuzeigen, auszuführen. Weitere Informationen finden Sie unter: Hinzufügen einer benutzerdefinierten Schritt zu MSBuild Projekte
.Custom Build Tools Ein benutzerdefiniertes Build-Tool ist ein Build-Regel im Zusammenhang mit einer oder mehreren Dateien. Ein benutzerdefinierter Erstellungsschritt kann Eingabedateien zu einem benutzerdefinierten Build-Werkzeug übergeben, die ich ergibt, in einer oder mehr Ausgabedateien. Zum Beispiel werden die Hilfedateien in einer MFC-Anwendung mit einem benutzerdefinierten Build-Werkzeug gebaut. Weitere Informationen finden Sie unter: Hinzufügen von Custom Build Tool MSBuild Projekte und Festlegen von Custom Build-Tool. Build Event
Build-Ereignisse können Sie ein Projekt Build anpassen. Es gibt drei Build Ereignisse: Pre-Build, Pre-Link, und Post-Build. Ein Build-Ereignis können Sie eine Aktion angeben zu einem bestimmten Zeitpunkt in den Build-Prozess auftreten. Zum Beispiel könnten Sie ein Build-Ereignis verwenden, um eine Datei mit regsvr32.exe nach Abschluss des Projektes des Bau zu registrieren. Weitere Informationen finden Sie Buildereignisse angeben.