Udostępnij za pośrednictwem


Porady: określanie zdarzeń kompilacji (Visual Basic)

Zdarzenia kompilacji w języku Visual Basic, można uruchamiać skrypty, makra lub innych działań w ramach procesu kompilacji.Pre-Build zdarzenia występują przed kompilacji; POST-Build zdarzenia występują po kompilacji.

Tworzenie zdarzeń są określone w Zbudować zdarzenia okno dialogowe, dostępne z skompilować strony Project Designer.

[!UWAGA]

Wyrażenia języka Visual Basic nie obsługuje zapis zdarzenia kompilacji.To jest obsługiwany tylko w przypadku pełnego produktu Visual Studio.

Jak określić Pre-Build i Post-Build zdarzeń

Aby określić zdarzenia kompilacji

  1. Z projektu, wybranego w Solution Explorer, z Projekt menu, kliknij przycisk Właściwości.

  2. Kliknij przycisk skompilować kartę.

  3. Kliknij przycisk Tworzenie zdarzenia przycisk, aby otworzyć Tworzenie zdarzenia okno dialogowe.

  4. Wprowadź argumenty wiersza polecenia dla programu działań pre-build lub post-build, a następnie kliknij przycisk OK.

    [!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.

    [!UWAGA]

    Jeśli 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 informacji za pomocą zdarzenia Post-Build

Poniższa procedura pokazuje, jak ustawić wersję systemu operacyjnego minimalna w manifeście aplikacji za pomocą polecenia exe 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

  1. Tworzy aplikację konsoli dla polecenia.Z pliku menu, kliknij przycisk Nowy, a następnie kliknij przycisk Projekt.

  2. W Nowy projekt w oknie dialogowym, w języka Visual Basic węzła, zaznacz Windows a Aplikacji konsoli szablonu.Nazwa projektu ChangeOSVersionVB.

  3. W Module1.vb, należy dodać następujący wiersz do drugiej Imports sprawozdań na początku pliku:

    Imports System.Xml
    
  4. 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 ma dwa argumenty.Pierwszy argument jest ścieżką do manifest aplikacji (czyli folder proces budowania tworzy w manifeście, zazwyczaj Projectname.publish).Drugi argument jest nowa wersja systemu operacyjnego.

  5. Na budować menu, kliknij przycisk Roztwór budować.

  6. Skopiuj plik .exe do katalogu, takich jak C:\TEMP\ChangeOSVersionVB.exe.

Następnie wywołać to polecenie w przypadku post-build, aby zmienić manifest aplikacji.

Aby wywołać post-build zdarzenie, aby zmienić manifest aplikacji

  1. Tworzenie aplikacji systemu Windows dla projektu, które zostaną opublikowane.Z pliku menu, kliknij przycisk Nowy, a następnie kliknij przycisk Projekt.

  2. W Nowy projekt w oknie dialogowym, w języka Visual Basic węzła, zaznacz systemu Windows a Aplikacji Windows szablonu.Nazwa projektu VBWinApp.

  3. Z projektem wybranym w Solution Explorer, z Projekt menu, kliknij przycisk Właściwości.

  4. W projektancie projektu, przejdź do Publikuj stronie i ustaw lokalizacji publikowania do C:\TEMP\.

  5. Publikowanie projektu, klikając Teraz publikować.

    Zostanie zbudowany i umieścić w pliku manifestu C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest.Aby wyświetlić manifestu, kliknij prawym przyciskiem myszy plik i kliknij przycisk Otwórz za pomocą, kliknij przycisk 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" />
    
  6. W projektancie projektu, przejdź do skompilować tab, a następnie kliknij przycisk Tworzenie zdarzenia przycisk, aby otworzyć Zbudować zdarzenia okno dialogowe.

  7. W wiersza polecenia zdarzenia Post-build wprowadź następujące polecenie:

    C:\TEMP\ChangeOSVersionVB.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.

    $(TargetPath) Makro wyraża pełną ścieżkę do pliku wykonywalnego, który jest tworzony.W związku z tym $(TargetPath) manifest określa manifest aplikacji utworzonych w katalogu bin.Publikowanie skopiuje ten manifest do publikowania lokalizacji, w której zostanie ustawiona wcześniej.

  8. Ponownie opublikować projekt.Przejdź do Publikuj stronę, a następnie kliknij przycisk Teraz publikować.

    Ponownie wyświetlić manifestu.Aby wyświetlić w manifeście, przejdź do katalogu publikowania, kliknij prawym przyciskiem myszy plik, a następnie kliknij przycisk Otwórz za pomocą a następnie 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

Porady: określanie zdarzeń kompilacji (C#)

Informacje

Strona kompilowania, Projektant projektu (Visual Basic)

Strona publikowania, Projektant projektu

Wiersz polecenia zdarzenia sprzed kompilacji/zdarzenia po kompilacji — Okno dialogowe

Inne zasoby

Zarządzanie właściwościami kompilacji