Festlegen von benutzerdefinierten Buildereignissen in Visual Studio
In Visual Studio können Sie benutzerdefinierte Build-Befehle festlegen, die automatisch vor oder nach dem Start eines Builds ausgeführt werden. Sie können Befehle erstellen, um eine .bat-Datei auszuführen, bevor ein Build beginnt, oder um neue Dateien in einen Ordner zu kopieren, nachdem der Build abgeschlossen ist. Benutzerdefinierte Build-Ereignisse werden nur ausgeführt, wenn der Build den entsprechenden Punkt im Build-Prozess erreicht hat.
In diesem Artikel finden Sie eine Übersicht über die empfohlene Syntax für benutzerdefinierte Build-Befehle. Wenn Sie nach Informationen zu einer bestimmten Programmiersprache suchen, lesen Sie Visual Basic, C# und F# und Visual C++.
Tipp
Wenn Sie Ihrem Build-Prozess komplexe Vorgänge hinzufügen möchten, erkunden Sie die MSBuild-Anpassungstechniken. Sie können z. B. Build-Ereignisse hinzufügen, um Codedateien zu generieren, und die Bereinigung nach einem clean
Vorgang ordnungsgemäß behandeln oder die Aufgabe nur ausführen, wenn die Eingaben veraltet sind.
Syntax für benutzerdefinierte Build-Befehle
Build-Befehle folgen derselben Syntax wie Windows-Eingabeaufforderungsbefehle, und Sie können Makros verwenden, um die Ereignisse auf einfache Weise zu erstellen. Eine Liste der verfügbaren Makros finden Sie unter Befehlszeilendialog für Ereignisse vor und nach der Erstellung.
Um optimale Ergebnisse zu erhalten, befolgen Sie diese Tipps zur Formatierung:
Fügen Sie allen Buildereignissen, die BAT-Dateien ausführen, eine
call
-Anweisung hinzu.Ein Beispiel:
call C:\MyFile.bat
Ein Beispiel:
call C:\MyFile.bat call C:\MyFile2.bat
Schließen Sie Dateipfade in Anführungszeichen ein.
Beispiel:
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -if "$(TargetPath)"
Trennen Sie mehrere Befehle durch Zeilenumbrüche.
Verwenden Sie Platzhalterzeichen nach Bedarf.
Beispiel:
for %I in (*.txt *.doc *.html) do copy %I c:\<Directory>\
Hinweis
Ersetzen Sie für ein Batchskript die Variable
%I
in diesem Beispiel durch%%I
.