Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zdarzenia kompilacji umożliwia określenie polecenia, które są uruchamiane przed rozpoczęciem budowy lub po zakończeniu kompilacji.Zdarzenia kompilacji są wykonywane tylko wtedy, gdy jest to kompilacja pomyślnie osiągnie tych punktów w procesie budowania.
Podczas tworzenia projektu pre-build zdarzenia są dodawane do pliku o nazwie PreBuildEvent.bat i post-build zdarzenia są dodawane do pliku o nazwie PostBuildEvent.bat.Chcąc zapewnić sprawdzanie błędów, należy dodać swoje własne polecenia Sprawdzanie błędów do kroków kompilacji.
[!UWAGA]
Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Jak określić Pre-Build i Post-Build zdarzeń
Aby określić zdarzenia kompilacji
W Solution Explorer, wybierz projekt, dla którego chcesz określić zdarzenia kompilacji.
Na Projekt menu, kliknij przycisk Właściwości.
Wybierz Tworzenie zdarzenia kartę.
W Pre-build z wiersza polecenia zdarzenia określ składnia zdarzenia kompilacji.
[!UWAGA]
Zdarzenia Pre-Build nie są uruchamiane, jeśli projekt jest aktualny i kompilacja nie jest wyzwalany.
W Post-build z wiersza polecenia zdarzenia określ składnia zdarzenia kompilacji.
[!UWAGA]
Dodaj call oświadczenie przed post-build wszystkie polecenia, które uruchamiają pliki bat.For example, call C:\MyFile.bat or call C:\MyFile.bat call C:\MyFile2.bat.
W uruchomienia zdarzenia post-build określ, na jakich warunkach do uruchomienia zdarzenia post-build.
[!UWAGA]
Dodawanie długich składni lub wybierz dowolne zbudować makra z Zdarzenie/występującymi-build zdarzeń wiersza polecenia okno dialogowe Pre-Build, kliknij przycisk wielokropka (…), aby wyświetlić pole edycji.
Składnia zdarzenia kompilacji może zawierać dowolne polecenie, które jest ważne w wierszu polecenia lub w pliku bat.Nazwa pliku wsadowego powinien być poprzedzony call do zapewnienia, że wszystkie kolejne polecenia są wykonywane.
Uwaga , jeżeli zdarzenie pre-build lub post-build nie zostanie zakończona pomyślnie, można zakończyć budowanie przez Twojego działania zdarzenie exit z kodu innym niż zero (0), który wskazuje pomyślnych działań.
Przykład: Jak zmienić manifestu informacje za pomocą zdarzenia Post-Build
Poniższa procedura pokazuje, jak ustawić minimalny system operacyjny w wersji w manifeście aplikacji za pomocą polecenia .exe, która jest wywoływana z poziomu zdarzenia post-build (. plik exe.manifest w katalogu projektu).Wersja minimalny system operacyjny jest czteroczęściowym liczby, takie jak 4.10.0.0.Aby to zrobić, polecenie będzie zmienić <dependentOS> sekcji manifestu:
<dependentOS>
<osVersionInfo>
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
Aby utworzyć polecenie .exe, aby zmienić manifest aplikacji
Tworzy aplikację konsoli dla polecenia.Z pliku menu, wskaż Nowy, a następnie kliknij przycisk Projekt.
W Nowy projekt okno dialogowe rozwiń Visual C#, kliknij przycisk Windows, a następnie kliknij przycisk Aplikacji konsoli szablonu.Nazwa projektu ChangeOSVersionCS.
W plik Program.cs, należy dodać następujący wiersz do drugiej using sprawozdań na początku pliku:
using System.Xml;
W ChangeOSVersionCS obszaru nazw, zastąpić Program Implementacja klasy następującym kodem:
class Program { /// <summary> /// This function will set the minimum operating system version for a ClickOnce application. /// </summary> /// <param name="args"> /// Command Line Arguments: /// 0 - Path to application manifest (.exe.manifest). /// 1 - Version of OS ///</param> static void Main(string[] args) { string applicationManifestPath = args[0]; Console.WriteLine("Application Manifest Path: " + applicationManifestPath); // Get version name. Version osVersion = null; if (args.Length >=2 ){ osVersion = new Version(args[1]); }else{ throw new ArgumentException("OS Version not specified."); } Console.WriteLine("Desired OS Version: " + osVersion.ToString()); XmlDocument document; XmlNamespaceManager namespaceManager; namespaceManager = new XmlNamespaceManager(new NameTable()); namespaceManager.AddNamespace("asmv1", "urn:schemas-microsoft-com:asm.v1"); namespaceManager.AddNamespace("asmv2", "urn:schemas-microsoft-com:asm.v2"); document = new XmlDocument(); document.Load(applicationManifestPath); string baseXPath; baseXPath = "/asmv1:assembly/asmv2:dependency/asmv2:dependentOS/asmv2:osVersionInfo/asmv2:os"; // Change minimum required operating system version. XmlNode node; node = document.SelectSingleNode(baseXPath, namespaceManager); node.Attributes["majorVersion"].Value = osVersion.Major.ToString(); node.Attributes["minorVersion"].Value = osVersion.Minor.ToString(); node.Attributes["buildNumber"].Value = osVersion.Build.ToString(); node.Attributes["servicePackMajor"].Value = osVersion.Revision.ToString(); document.Save(applicationManifestPath); } }
Polecenie ma dwa argumenty: ścieżka manifest aplikacji (czyli folder proces budowania tworzy w manifeście, zazwyczaj Projectname.publish) i nowej wersji systemu operacyjnego.
Skompiluj projekt.Na budować menu, kliknij przycisk Roztwór budować.
Skopiuj plik .exe do katalogu, takich jak C:\TEMP\ChangeOSVersionVB.exe.
Następnie wywoływać tego polecenia w przypadku post-build do modyfikowania manifest aplikacji.
Aby wywołać post-build zdarzenie, aby zmodyfikować manifest aplikacji
Tworzenie aplikacji systemu Windows dla projektu, które zostaną opublikowane.Z pliku menu, wskaż Nowy, a następnie kliknij przycisk Projekt.
W Nowy projekt okno dialogowe rozwiń Visual C#, kliknij Windows, a następnie kliknij przycisk Aplikacji Windows Forms szablonu.Nazwa projektu CSWinApp.
Z projektem wybranym w Solution Explorer, z Projekt menu, kliknij przycisk Właściwości.
W programie Project Designer zlokalizować Publikuj stronie i ustaw lokalizacji publikowania do C:\TEMP\.
Publikowanie projektu, klikając Teraz publikować.
Zostanie zbudowany i umieścić w pliku manifestu C:\TEMP\CSWinApp_1_0_0_0\CSWinApp.exe.manifest.Aby wyświetlić manifestu, kliknij prawym przyciskiem myszy plik, kliknij przycisk Otwórz za pomocą, wybierz opcję Wybierz program z listy, a następnie kliknij przycisk Notatnik.
Wyszukaj w pliku <osVersionInfo> element.Na przykład wersja może być:
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
W projektancie projektu, kliknij przycisk Tworzenie zdarzenia tab, a następnie kliknij przycisk Edytuj Post-build przycisk.
W wiersza polecenia zdarzenia Post-build wpisz następujące polecenie:
C:\TEMP\ChangeOSVersionCS.exe "(TargetPath)$ manifest" 5.1.2600.0
Podczas tworzenia projektu to polecenie zmieni wersji minimalny system operacyjny w manifeście aplikacji 5.1.2600.0.
Ponieważ $(TargetPath) makro wyraża pełną ścieżkę do pliku wykonywalnego, który jest tworzony, $(TargetPath)manifest określa manifest aplikacji utworzonych w katalogu bin.Publikowanie skopiuje ten manifest do publikowania lokalizacji, w której zostanie ustawiona wcześniej.
Ponownie opublikować projekt.Przejdź do Publikuj stronę, a następnie kliknij przycisk Teraz publikować.
Ponownie wyświetlić manifestu.Wyświetlić manifestu, otwórz katalog publikowania, kliknij prawym przyciskiem myszy plik, kliknij przycisk Otwórz z, wybierz opcję Wybierz program z listy, a następnie kliknij przycisk Notatnik.
Teraz należy przeczytać wersji:
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
Zobacz też
Zadania
Jak: określić zdarzenia kompilacji (Visual Basic)
Informacje
Strona zdarzenia kompilacji, Project Designer (C#)
Zdarzenie/występującymi-build zdarzeń wiersza polecenia okno dialogowe Pre-Build