Strona Zdarzenia kompilacji, Projektant projektu (C#)

Użyj strony Zdarzenia kompilacji programu Project Projektant, aby określić instrukcje dotyczące konfiguracji kompilacji. Można również określić warunki, w których są uruchamiane wszystkie zdarzenia po kompilacji. Aby uzyskać więcej informacji, zobacz How to: Określanie zdarzeń kompilacji (C#) i How to: Specify Build Events (Visual Basic) (Jak określić zdarzenia kompilacji (Visual Basic).

Lista elementów UI

Konfiguracja

Ta kontrolka nie jest edytowalna na tej stronie. Aby uzyskać opis tej kontrolki, zobacz Strona kompilacji, Project Projektant (C#).

Platforma

Ta kontrolka nie jest edytowalna na tej stronie. Aby uzyskać opis tej kontrolki, zobacz Strona kompilacji, Project Projektant (C#).

Wiersz polecenia zdarzenia przed kompilacją

Określa wszystkie polecenia do wykonania przed rozpoczęciem kompilacji. Aby wpisać długie polecenia, kliknij przycisk Edytuj kompilację wstępną, aby wyświetlić okno dialogowe Wiersza polecenia zdarzenia przed kompilacją/po kompilacji.

Uwaga

Zdarzenia przed kompilacją nie są uruchamiane, jeśli projekt jest aktualny i nie zostanie wyzwolona żadna kompilacja.

Wiersz polecenia zdarzenia po kompilacji

Określa wszystkie polecenia do wykonania po zakończeniu kompilacji. Aby wpisać długie polecenia, kliknij przycisk Edytuj po kompilacji, aby wyświetlić okno dialogowe Wiersza polecenia zdarzenia przed kompilacją/po kompilacji.

Uwaga

Dodaj instrukcję call przed wszystkimi poleceniami po kompilacji, które uruchamiają pliki bat. Na przykład: call C:\MyFile.bat lub call C:\MyFile.bat call C:\MyFile2.bat.

Uruchamianie zdarzenia po kompilacji

Określa następujące warunki uruchomienia zdarzenia po kompilacji, jak pokazano w poniższej tabeli.

Opcja Wynik
Zawsze Zdarzenie po kompilacji zostanie uruchomione niezależnie od tego, czy kompilacja zakończy się pomyślnie.
Po pomyślnej kompilacji Jeśli kompilacja zakończy się pomyślnie, zostanie uruchomione zdarzenie po kompilacji. W związku z tym zdarzenie będzie uruchamiane nawet dla projektu, który jest aktualny, o ile kompilacja zakończy się pomyślnie.
Gdy kompilacja aktualizuje dane wyjściowe projektu Zdarzenie po kompilacji zostanie uruchomione tylko wtedy, gdy plik wyjściowy kompilatora (plik exe lub dll) różni się od poprzedniego pliku wyjściowego kompilatora. W związku z tym zdarzenie po kompilacji nie jest uruchamiane, jeśli projekt jest aktualny.

W pliku projektu

We wcześniejszych wersjach programu Visual Studio po zmianie ustawienia PreBuildEvent lub PostBuildEvent w środowisku IDE program Visual Studio dodaje PreBuildEvent właściwość lub PostBuildEvent do pliku projektu. Jeśli na przykład ustawienie wiersza polecenia PreBuildEvent w środowisku IDE jest następujące:

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

następnie ustawienie pliku projektu to:

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

W przypadku projektów .NET Core program Visual Studio 2019 (i program Visual Studio 2017 w nowszych aktualizacjach) dodaje element docelowy MSBuild o nazwie PreBuild lub PostBuild dla ustawień PreBuildEvent i PostBuildEvent . Te obiekty docelowe używają atrybutów BeforeTargets i AfterTargets rozpoznawanych przez program MSBuild. Na przykład w poprzednim przykładzie program Visual Studio generuje teraz następujący kod:

<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="&quot;$(ProjectDir)PreBuildEvent.bat&quot; &quot;$(ProjectDir)..\&quot; &quot;$(ProjectDir)&quot; &quot;$(TargetDir)&quot;" />
</Target>

W przypadku zdarzenia po kompilacji użyj nazwy PostBuild i ustaw atrybut AfterTargets na PostBuildEvent.

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

Uwaga

Te zmiany w pliku projektu zostały wprowadzone w celu obsługi projektów w stylu zestawu SDK. W przypadku ręcznego migrowania pliku projektu ze starego formatu do formatu w stylu zestawu SDK należy usunąć PreBuildEvent właściwości i PostBuildEvent i zastąpić je elementami PreBuild docelowymi, PostBuild jak pokazano w poprzednim kodzie. Aby dowiedzieć się, jak określić, czy projekt jest projektem w stylu zestawu SDK, zobacz Sprawdzanie formatu projektu.

Zobacz też