Freigeben über


Seite "Buildereignisse", Projekt-Designer (C#)

Hinweis

Diese Seite gilt für Visual Studio 2019. Wenn Sie Visual Studio 2022 verwenden, unterscheidet sich der Projekt-Designer für .NET Core und .NET 5 und höher. Siehe Angeben von Buildereignissen (C#).

Verwenden Sie die Seite " Buildereignisse " des Project-Designers , um Buildkonfigurationsanweisungen anzugeben. Sie können auch die Bedingungen angeben, unter denen alle Postbuildereignisse ausgeführt werden. Weitere Informationen finden Sie unter How to: Specify Build Events (C#) and How to: Specify Build Events (Visual Basic).

UIElement-Liste

Konfiguration

Dieses Steuerelement kann auf dieser Seite nicht bearbeitet werden. Eine Beschreibung dieses Steuerelements finden Sie unter Buildseite, Project Designer (C#).For a description of this control, see Build Page, Project Designer (C#).

Plattform

Dieses Steuerelement kann auf dieser Seite nicht bearbeitet werden. Eine Beschreibung dieses Steuerelements finden Sie unter Buildseite, Project Designer (C#).For a description of this control, see Build Page, Project Designer (C#).

Befehlszeile für Vorabbuildereignisse

Gibt alle Befehle an, die vor dem Start des Builds ausgeführt werden sollen. Wenn Sie lange Befehle eingeben möchten, klicken Sie auf "Vorabbuild bearbeiten ", um das Dialogfeld "Vorabbuildereignis/Postbuildereignis"-Befehlszeile anzuzeigen.

Hinweis

Präbuildereignisse werden nicht ausgeführt, wenn das Projekt auf dem neuesten Stand ist, und es wird kein Build gestartet.

Befehlszeile für postbuild-Ereignisse

Gibt alle Befehle an, die nach Dem Buildende ausgeführt werden sollen. Um lange Befehle einzugeben, klicken Sie auf " Postbuild bearbeiten ", um das Befehlszeilendialogfeld "Vorabbuildereignis/Postbuildereignis" anzuzeigen.

Hinweis

Fügen Sie eine call Anweisung vor allen Postbuildbefehlen hinzu, die Dateien ausführen .bat . Zum Beispiel: call C:\MyFile.bat oder call C:\MyFile.bat call C:\MyFile2.bat.

Ausführen des Postbuildereignisses

Gibt die folgenden Bedingungen für das auszuführende Postbuildereignis an, wie in der folgenden Tabelle dargestellt.

Auswahlmöglichkeit Ergebnis
Immer Das Postbuildereignis wird unabhängig davon ausgeführt, ob der Build erfolgreich ist.
Beim erfolgreichen Build Nach dem Buildereignis wird ausgeführt, wenn der Build erfolgreich ist. Daher wird das Ereignis auch für ein Projekt ausgeführt, das up-to-date ist, solange der Build erfolgreich ist.
Wenn der Build die Projektausgabe aktualisiert Post-Build-Ereignis wird nur ausgeführt, wenn die Ausgabedatei des Compilers (.exe oder .dll) sich von der vorherigen Compilerausgabedatei unterscheidet. Daher wird ein Postbuildereignis nicht ausgeführt, wenn ein Projekt up-to-date ist.

In der Projektdatei

Wenn Sie in früheren Versionen von Visual Studio die Einstellung "PreBuildEvent" oder "PostBuildEvent" in der IDE ändern, fügt Visual Studio der Projektdatei eine oder PreBuildEvent eine PostBuildEvent Eigenschaft hinzu. Beispiel: Wenn ihre PreBuildEvent-Befehlszeileneinstellung in der IDE wie folgt lautet:

"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"

dann lautet die Projektdateieinstellung:

<PropertyGroup>
    <PreBuildEvent>"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)" />
</PropertyGroup>

Für .NET Core-Projekte fügt Visual Studio ein MSBuild-Ziel namens PreBuild oder PostBuild für preBuildEvent - und PostBuildEvent-Einstellungen hinzu. Diese Ziele verwenden die Attribute BeforeTargets und AfterTargets , die MSBuild erkennt. Für das vorangehende Beispiel generiert Visual Studio jetzt 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 Postbuildereignis den Namen PostBuild , und legen Sie das Attribut AfterTargets auf PostBuildEvent.

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
   <Exec Command="echo Output written to $(TargetDir)" />
</Target>

Hinweis

Diese Projektdateiänderungen wurden vorgenommen, um SDK-Stilprojekte zu unterstützen. Wenn Sie eine Projektdatei aus dem alten Format manuell in das SDK-Format migrieren, sollten Sie die PreBuildEvent Dateien und PostBuildEvent Eigenschaften löschen und durch PreBuild diese PostBuild ersetzen, wie im vorherigen Code gezeigt. Informationen dazu, wie Sie feststellen können, ob Es sich bei Ihrem Projekt um ein PROJEKT im SDK-Stil handelt, finden Sie unter Projektformat überprüfen.

Siehe auch