Freigeben über


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="&quot;$(ProjectDir)PreBuildEvent.bat&quot; &quot;$(ProjectDir)..\&quot; &quot;$(ProjectDir)&quot; &quot;$(TargetDir)&quot;" />
</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.

Siehe auch