Freigeben über


Angeben von benutzerdefinierten Buildereignissen in Visual Studio

Mit Visual Studio können Sie benutzerdefinierte Buildbefehle angeben, die automatisch ausgeführt werden sollen, bevor ein Build gestartet oder nach Abschluss des Builds abgeschlossen wird. Sie können Befehle erstellen, um eine .bat Datei auszuführen, bevor ein Build startet oder neue Dateien nach Abschluss des Builds in einen Ordner kopiert. Benutzerdefinierte Buildereignisse werden nur ausgeführt, wenn der Build erfolgreich den relevanten Punkt im Buildprozess erreicht.

In diesem Artikel finden Sie eine Übersicht über die empfohlene Syntax für benutzerdefinierte Buildbefehle. Wenn Sie nach Informationen zu einer bestimmten Programmiersprache suchen, lesen Sie Visual Basic, C# und F# und Visual C++.

Tipp

Wenn Sie Ihrem Buildprozess 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 das Aufräumen nach einem clean Vorgang ordnungsgemäß behandeln oder die Aufgabe nur ausführen, wenn Inputs veraltet sind.

Syntax für benutzerdefinierte Buildbefehle

Buildbefehle folgen der gleichen Syntax wie Windows-Eingabeaufforderungsbefehle, und Sie können MSBuild-Eigenschaften (auch als Makros bezeichnet) verwenden, um die Ereignisse auf einfache Weise zu erstellen. Eine Liste der verfügbaren MSBuild-Eigenschaften finden Sie unter "Common MSBuild"-Projekteigenschaften. Sie können auch eigene MSBuild-Eigenschaften in der Projektdatei definieren.

Um optimale Ergebnisse zu erzielen, befolgen Sie die folgenden Formatierungstipps:

  • Fügen Sie eine call Anweisung vor allen Buildereignissen hinzu, die .bat Dateien ausführen.

    Beispiel: call C:\MyFile.bat

    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 mithilfe von Zeilenumbrüchen.

  • Fügen Sie nach Bedarf Wildcards ein.

    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.