Seite "Buildereignisse", Projekt-Designer (C#)
Verwenden Sie die Seite Buildereignisse des Projekt-Designers, um die Anweisungen der Buildkonfiguration anzugeben. Außerdem können Sie die Bedingungen angeben, unter denen sämtliche Postbuildereignisse ausgeführt werden. Weitere Informationen finden Sie unter Vorgehensweise: Angeben von Buildereignissen (C#) und Vorgehensweise: Angeben von Buildereignissen (Visual Basic).
UIElement-Liste
Configuration
Dieses Steuerelement kann auf dieser Seite nicht bearbeitet werden. Eine Beschreibung dieses Steuerelements finden Sie unter Seite „Erstellen“, Projekt-Designer (C#).
Plattform
Dieses Steuerelement kann auf dieser Seite nicht bearbeitet werden. Eine Beschreibung dieses Steuerelements finden Sie unter Seite „Erstellen“, Projekt-Designer (C#).
Befehlszeile für Präbuildereignis
Gibt sämtliche Befehle an, die vor dem Start des Buildvorgangs ausgeführt werden sollen. Klicken Sie auf Präbuild bearbeiten..., um das Dialogfeld „Befehlszeile für Präbuildereignis“/„Befehlszeile für Postbuildereignis“ anzuzeigen. In dieses Feld können Sie lange Befehle eingeben.
Hinweis
Präbuildereignisse werden nicht ausgeführt, wenn das Projekt auf dem neuesten Stand ist, und es wird kein Build gestartet.
Befehlszeile für Postbuildereignis
Gibt sämtliche Befehle an, die nach dem Abschluss des Buildvorgangs ausgeführt werden sollen. Klicken Sie auf Postbuild bearbeiten... , um das Dialogfeld „Befehlszeile für Präbuildereignis“/„Befehlszeile für Postbuildereignis“ anzuzeigen. In dieses Feld können Sie lange Befehle eingeben.
Hinweis
Fügen Sie allen Postbuildbefehlen, die BAT-Dateien ausführen, eine call
-Anweisung hinzu. Zum Beispiel: call C:\MyFile.bat
oder call C:\MyFile.bat call C:\MyFile2.bat
.
Postbuildereignis ausführen
Gibt die folgenden Bedingungen für das auszuführende Postbuildereignis an, wie in der folgenden Tabelle dargestellt.
Option | Ergebnis |
---|---|
Always | Das Postbuildereignis wird ausgeführt, unabhängig davon, ob der Buildvorgang erfolgreich ist. |
Bei erfolgreichem Erstellen | Das Postbuildereignis wird ausgeführt, wenn der Buildvorgang erfolgreich ist. Deshalb wird das Ereignis sogar für ein aktuelles Projekt ausgeführt, solange der Buildvorgang erfolgreich ist. |
Wenn der Build die Projektausgabe aktualisiert | Das Postbuildereignis wird nur ausgeführt, wenn sich die Ausgabedatei des Compilers (.exe or .dll) von der vorherigen Ausgabedatei des Compilers unterscheidet. Deshalb wird kein Postbuildereignis ausgeführt, wenn das Projekt aktuell ist. |
In der Projektdatei
In früheren Versionen von Visual Studio fügt Visual Studio beim Ändern der Einstellung PreBuildEvent oder PostBuildEvent in der IDE der Projektdatei die Eigenschaft PreBuildEvent
oder PostBuildEvent
hinzu. Beispiel: Wenn Ihre Befehlszeileneinstellung PreBuildEvent in der IDE wie folgt lautet:
"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"
dann ist die Projektdateieinstellung wie folgt:
<PropertyGroup>
<PreBuildEvent>"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)" />
</PropertyGroup>
Für .NET Core-Projekte fügt Visual Studio 2019 (und Visual Studio 2017 mit den neuesten Updates) den Einstellungen PreBuildEvent und PostBuildEvent ein MSBuild-Ziel namens PreBuild
oder PostBuild
hinzu. Diese Ziele verwenden die BeforeTargets- und AfterTargets-Attribute, die von MSBuild erkannt werden. Beispielsweise generiert Visual Studio für das vorherige Beispiel nun den folgenden Code:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command=""$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"" />
</Target>
Verwenden Sie für ein Ereignis nach dem Buildvorgang den Namen PostBuild
, und legen Sie das Attribut AfterTargets
auf PostBuildEvent
fest.
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="echo Output written to $(TargetDir)" />
</Target>
Hinweis
Diese Änderungen an der Projektdatei wurden vorgenommen, um Projekte im SDK-Format zu unterstützen. Wenn Sie eine Projektdatei manuell vom alten Format zum SDK-Format migrieren, müssen Sie die Eigenschaften PreBuildEvent
und PostBuildEvent
löschen und durch die Ziele PreBuild
und PostBuild
ersetzen (siehe den vorherigen Code). Informationen, wie Sie feststellen können, ob Ihr Projekt das SDK-Format hat, finden Sie unter Überprüfen des Projektformats.