Określanie zdarzeń kompilacji (Visual Basic)
Zdarzenia kompilacji w Visual Basic mogą służyć do uruchamiania skryptów, makr lub innych akcji w ramach procesu kompilacji. Zdarzenia przed kompilacją są wykonywane przed kompilacją; Zdarzenia po kompilacji występują po kompilacji.
Zdarzenia kompilacji są określone w oknie dialogowym Zdarzenia kompilacji dostępne na stronie Kompilowanie Projektant projektu.
Uwaga
Program Visual Basic Express nie obsługuje wprowadzania zdarzeń kompilacji. Jest to obsługiwane tylko w pełnym produkcie Visual Studio.
Jak określić zdarzenia przed kompilacją i po kompilacji
Aby określić zdarzenie kompilacji
Po wybraniu projektu w Eksplorator rozwiązań w menu Projekt kliknij pozycję Właściwości.
Kliknij kartę Kompiluj.
Kliknij przycisk Zdarzenia kompilacji, aby otworzyć okno dialogowe Zdarzenia kompilacji.
Wprowadź argumenty wiersza polecenia dla akcji przed kompilacją lub po kompilacji, a następnie kliknij przycisk OK.
Uwaga
Dodaj instrukcję
call
przed wszystkimi poleceniami po kompilacji, które uruchamiają pliki bat . Na przykład:call C:\MyFile.bat
lubcall C:\MyFile.bat call C:\MyFile2.bat
.Uwaga
Jeśli zdarzenie przed kompilacją lub po kompilacji nie zakończy się pomyślnie, możesz zakończyć kompilację, kończąc akcję zdarzenia z kodem innym niż zero (0), co oznacza pomyślną akcję.
Przykład: Jak zmienić informacje o manifeście przy użyciu zdarzenia po kompilacji
Poniższa procedura pokazuje, jak ustawić minimalną wersję systemu operacyjnego w manifeście aplikacji przy użyciu polecenia exe wywoływanego ze zdarzenia po kompilacji ( pliku .exe.manifest w katalogu projektu). Minimalna wersja systemu operacyjnego to czteroczęściowy numer, taki jak 4.10.0.0. W tym celu polecenie spowoduje zmianę <dependentOS>
sekcji manifestu:
<dependentOS>
<osVersionInfo>
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
Aby utworzyć polecenie .exe w celu zmiany manifestu aplikacji
Utwórz aplikację konsolową dla polecenia . W menu Plik kliknij pozycję Nowy, a następnie kliknij pozycję Projekt.
W oknie dialogowym Nowy projekt w węźle Visual Basic wybierz pozycję Windows, a następnie szablon Aplikacja konsolowa. Nadaj projektowi
ChangeOSVersionVB
nazwę .W pliku Module1.vb dodaj następujący wiersz do innych
Imports
instrukcji w górnej części pliku:Imports System.Xml
Dodaj następujący kod w
Sub Main
:Sub Main() Dim applicationManifestPath As String applicationManifestPath = My.Application.CommandLineArgs(0) Console.WriteLine("Application Manifest Path: " & applicationManifestPath.ToString) 'Get version name Dim osVersion As Version If My.Application.CommandLineArgs.Count >= 2 Then osVersion = New Version(My.Application.CommandLineArgs(1).ToString) Else Throw New ArgumentException("OS Version not specified.") End If Console.WriteLine("Desired OS Version: " & osVersion.ToString()) Dim document As XmlDocument Dim namespaceManager As XmlNamespaceManager namespaceManager = New XmlNamespaceManager(New NameTable()) With namespaceManager .AddNamespace("asmv1", "urn:schemas-microsoft-com:asm.v1") .AddNamespace("asmv2", "urn:schemas-microsoft-com:asm.v2") End With document = New XmlDocument() document.Load(applicationManifestPath) Dim baseXPath As String baseXPath = "/asmv1:assembly/asmv2:dependency/asmv2:dependentOS/asmv2:osVersionInfo/asmv2:os" 'Change minimum required OS Version. Dim node As XmlNode 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) End Sub
Polecenie przyjmuje dwa argumenty. Pierwszym argumentem jest ścieżka do manifestu aplikacji (czyli folder, w którym proces kompilacji tworzy manifest, zazwyczaj ProjectName.publish>).< Drugim argumentem jest nowa wersja systemu operacyjnego.
W menu Kompilacja kliknij pozycję Kompiluj rozwiązanie.
Skopiuj plik exe do katalogu, takiego jak C:\TEMP\ChangeOSVersionVB.exe.
Następnie wywołaj to polecenie w zdarzeniu po kompilacji, aby zmienić manifest aplikacji.
Aby wywołać zdarzenie po kompilacji w celu zmiany manifestu aplikacji
Utwórz aplikację systemu Windows dla projektu do opublikowania. W menu Plik kliknij pozycję Nowy, a następnie kliknij pozycję Projekt.
W oknie dialogowym Nowy projekt w węźle Visual Basic wybierz pozycję Pulpit systemu Windows, a następnie szablon Aplikacji formularzy systemu Windows. Nadaj projektowi
VBWinApp
nazwę .Po wybraniu projektu w Eksplorator rozwiązań w menu Projekt kliknij pozycję Właściwości.
W Projektant Project przejdź do strony Publikowanie i ustaw pozycję Lokalizacja publikowania na C:\TEMP.
Opublikuj projekt, klikając pozycję Publikuj teraz.
Plik manifestu zostanie skompilowany i umieszczony w pliku C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest. Aby wyświetlić manifest, kliknij prawym przyciskiem myszy plik i kliknij polecenie Otwórz za pomocą, a następnie kliknij pozycję Wybierz program z listy, a następnie kliknij przycisk Notatnik.
Wyszukaj w pliku element
<osVersionInfo>
. Na przykład wersja może być:<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
W Projektant projektu przejdź do karty Kompiluj i kliknij przycisk Zdarzenia kompilacji, aby otworzyć okno dialogowe Zdarzenia kompilacji.
W polu Wiersz polecenia zdarzenia po kompilacji wprowadź następujące polecenie:
C:\TEMP\ChangeOSVersionVB.exe "$(TargetPath).manifest" 5.1.2600.0
Podczas kompilowania projektu to polecenie spowoduje zmianę minimalnej wersji systemu operacyjnego w manifeście aplikacji na 5.1.2600.0.
Makro
$(TargetPath)
wyraża pełną ścieżkę do tworzonego pliku wykonywalnego. W związku z tym $(TargetPath).manifest określi manifest aplikacji utworzony w katalogu bin. Opublikowanie spowoduje skopiowanie tego manifestu do ustawionej wcześniej lokalizacji publikowania.Ponownie opublikuj projekt. Przejdź do strony Publikowanie i kliknij pozycję Publikuj teraz.
Ponownie wyświetl manifest. Aby wyświetlić manifest, przejdź do katalogu publikowania, kliknij prawym przyciskiem myszy plik i kliknij polecenie Otwórz za pomocą, a następnie wybierz program z listy, a następnie kliknij przycisk Notatnik.
Wersja powinna teraz odczytywać następujące wersję:
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />