Určení událostí sestavení (Visual Basic)

Události sestavení v jazyce Visual Basic lze použít ke spouštění skriptů, maker nebo jiných akcí v rámci procesu kompilace. Před kompilací dochází k událostem před sestavením; po kompilaci dochází k událostem po sestavení.

Události sestavení jsou zadány v dialogovém okně Události sestavení, které jsou k dispozici na stránce Kompilace návrháře projektu.

Poznámka:

Visual Basic Express nepodporuje zadávání událostí sestavení. To je podporováno pouze v plném produktu Visual Studio.

Určení událostí před sestavením a po sestavení

Určení události sestavení

  1. Pokud je projekt vybraný v Průzkumník řešení, klikněte v nabídce Projekt na příkaz Vlastnosti.

  2. Klikněte na kartu Kompilace .

  3. Kliknutím na tlačítko Události sestavení otevřete dialogové okno Události sestavení.

  4. Zadejte argumenty příkazového řádku pro akci před sestavením nebo po sestavení a klepněte na tlačítko OK.

    Poznámka:

    call Přidejte příkaz před všechny příkazy po sestavení, které spouštějí soubory .bat. Například call C:\MyFile.bat nebo call C:\MyFile.bat call C:\MyFile2.bat.

    Poznámka:

    Pokud se událost před sestavením nebo po sestavení úspěšně nedokončí, můžete sestavení ukončit tak, že akci události ukončíte jiným kódem než nula (0), což značí úspěšnou akci.

Příklad: Jak změnit informace o manifestu pomocí události po sestavení

Následující postup ukazuje, jak nastavit minimální verzi operačního systému v manifestu aplikace pomocí příkazu .exe volaný z události post-build (soubor .exe.manifest v adresáři projektu). Minimální verze operačního systému je čtyřdílné číslo, například 4.10.0.0. Provedete to tak, že příkaz změní <dependentOS> oddíl manifestu:

<dependentOS>
   <osVersionInfo>
      <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
   </osVersionInfo>
</dependentOS>

Vytvoření příkazu .exe pro změnu manifestu aplikace

  1. Vytvořte konzolovou aplikaci pro příkaz. V nabídce Soubor klikněte na položku Nový a potom klikněte na položku Projekt.

  2. V dialogovém okně Nový projekt vyberte v uzlu Jazyka Visual Basic systém Windows a potom šablonu konzolové aplikace. Pojmenujte projekt ChangeOSVersionVB.

  3. V modulu 1.vb přidejte následující řádek do dalších Imports příkazů v horní části souboru:

    Imports System.Xml
    
  4. V souboru Sub Main přidejte následující kód:

    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
    

    Příkaz má dva argumenty. Prvním argumentem je cesta k manifestu aplikace (tj. složka, ve které proces sestavení vytvoří manifest, obvykle ProjectName.publish>).< Druhým argumentem je nová verze operačního systému.

  5. V nabídce Sestavení klikněte na Sestavit řešení.

  6. Zkopírujte soubor .exe do adresáře, jako je C:\TEMP\ChangeOSVersionVB.exe.

    Potom vyvoláte tento příkaz v události po sestavení a změňte manifest aplikace.

Vyvolání události po sestavení za účelem změny manifestu aplikace

  1. Vytvořte aplikaci pro Windows pro projekt, který se má publikovat. V nabídce Soubor klikněte na položku Nový a potom klikněte na položku Projekt.

  2. V dialogovém okně Nový projekt v uzlu Visual Basic vyberte plochu Windows a potom šablonu aplikace model Windows Forms. Pojmenujte projekt VBWinApp.

  3. Pokud je projekt vybraný v Průzkumník řešení, klikněte v nabídce Projekt na příkaz Vlastnosti.

  4. V Návrháři projektu přejděte na stránku Publikovat a nastavte umístění publikování na C:\TEMP.

  5. Projekt publikujte kliknutím na Publikovat hned.

    Soubor manifestu se sestaví a vloží do souboru C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest. Chcete-li zobrazit manifest, klepněte pravým tlačítkem myši na soubor a klepněte na tlačítko Otevřít s, potom klepněte na tlačítko Vybrat program ze seznamu a potom klepněte na tlačítko Poznámkový blok.

    Vyhledejte prvek <osVersionInfo> v souboru. Verze může být například:

    <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
    
  6. V Návrháři projektu přejděte na kartu Kompilace a kliknutím na tlačítko Události sestavení otevřete dialogové okno Události sestavení.

  7. Do pole Příkazového řádku události po sestavení zadejte následující příkaz:

    C:\TEMP\ChangeOSVersionVB.exe "$(TargetPath).manifest" 5.1.2600.0

    Při sestavování projektu tento příkaz změní minimální verzi operačního systému v manifestu aplikace na 5.1.2600.0.

    Makro $(TargetPath) vyjadřuje úplnou cestu pro vytvářený spustitelný soubor. Proto $(TargetPath).manifest určí manifest aplikace vytvořený v adresáři bin. Publikování zkopíruje tento manifest do umístění publikování, které jste nastavili dříve.

  8. Znovu publikujte projekt. Přejděte na stránku Publikovat a klikněte na Publikovat nyní.

    Znovu zobrazte manifest. Chcete-li zobrazit manifest, přejděte do adresáře publikování, klepněte pravým tlačítkem myši na soubor a klepněte na tlačítko Otevřít s a potom vyberte program ze seznamu a potom klepněte na tlačítko Poznámkový blok.

    Verze by teď měla číst:

    <os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />