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