Postupy: Určit události sestavení (Visual Basic)
Události sestavení v jazyce Visual Basic lze použít ke spuštění skriptů, maker nebo jiných akcí jako součást procesu kompilace. K událostem před sestavením dojde před kompilací; k událostem po sestavení dojde po kompilaci.
Události sestavení jsou specifikovány v dialogovém okně Události sestavení přístupné ze stránky Kompilovat Návrháře projektu.
Jak určit události před sestavením a po sestavení
Zadání události sestavení
S projektem vybraným v Průzkumníku řešení, v nabídce Projekt klikněte na Vlastnosti.
Klikněte na kartu Kompilovat.
Klikněte na tlačítko Události sestavení k otevření dialogového okna Události sestavení.
Zadejte argumenty příkazové řádky pro vaše akce před sestavením nebo po sestavení a klikněte na tlačítko OK.
Poznámka
Přidejte příkaz call před všechny příkazy po sestavení, které spouštějí .bat soubory. Například call C:\MyFile.bat or call C:\MyFile.bat call C:\MyFile2.bat.
Poznámka
Pokud vaše událost před sestavením nebo po sestavení není úspěšně dokončena, sestavení můžete ukončit, když necháte akci události ukončit s kódem jiným než nula (0), což znamená úspěšnou akci.
Příklad: Jak změnit informace manifestu pomocí události po sestavení
Následující procedura ukazuje, jak nastavit minimální verzi operačního systému v manifestu aplikace použitím .exe příkazu volaného z události po sestavení (.exe soubor manifestu v adresáři projektu). Minimální verze operačního systému je číslo o čtyřech částech jako 4.10.0.0. Chcete-li toto provést, příkaz změní část <dependentOS> manifestu:
<dependentOS>
<osVersionInfo>
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
Chcete-li vytvořit .exe příkaz ke změně manifestu aplikace
Vytvořte konzolovou aplikaci pro příkaz. V nabídce Soubor klikněte na příkaz Nový a potom klikněte na příkaz Projekt.
V dialogovém okně Nový projekt v uzlu Visual Basic vyberte Windows, a pak šablonu Konzolová aplikace. Pojmenujte projekt ChangeOSVersionVB.
V Module1.vb přidejte následující řádek do jiných příkazů Imports v horní části souboru:
Imports System.Xml
Přidejte následující kód v 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
Příkaz přijímá dva argumenty. První argument je cesta k manifestu aplikace (to znamená, složka, ve kterém vytvoří proces vytváření manifest, obvykle Projectname.publish). Druhý argument je nová verze operačního systému.
V nabídce Build (Sestavit) klepněte na příkaz Build Solution (Sestavit řešení).
Zkopírujte .exe soubor do adresáře, například C:\TEMP\ChangeOSVersionVB.exe.
Dále tento příkaz vyvolejte v události po sestavení ke změně manifestu aplikace.
Chcete-li vyvolat událost po sestavení ke změně manifestu aplikace
Vytvořte aplikaci pro systém Windows pro projekt, který má být publikován. V nabídce Soubor klikněte na příkaz Nový a potom klikněte na příkaz Projekt.
V dialogovém okně Nový projekt v uzlu Visual Basic vyberte Windows, a pak šablonu Aplikace pro systém Windows. Nazvěte projekt VBWinApp.
S projektem vybraným v Průzkumníku řešení, v nabídce Projekt klikněte na Vlastnosti.
V Návrháři projektu přejděte ke stránce Publikovat a nastavte Umístění pro publikování na C:\TEMP\.
Publikujte projekt kliknutím na tlačítko Publikovat nyní.
Soubor manifestu bude sestaven a vložen do C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest. Chcete-li zobrazit manifest, klikněte pravým tlačítkem myši na soubor a klikněte na Otevřít pomocí, pak klikněte na příkazVyberte program ze seznamu a potom klikněte na tlačítko Program Poznámkový blok.
Vyhledejte v souboru element <osVersionInfo>. Verze může být například:
<os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
V Návrháři projektu přejděte na kartu Kompilovat a klikněte na tlačítko Události sestavení k otevření dialogového okna Události sestavení.
V okně Příkazový řádek události po sestavení zadejte následující příkaz:
C:\TEMP\ChangeOSVersionVB.exe "$(TargetPath).manifest" 5.1.2600.0
Když sestavíte projekt, 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 bude určovat manifest aplikace vytvořený v adresáři bin. Publikování okopíruje tento manifest do umístění pro publikování, které jste nastavili dříve.
Projekt publikujte znovu. Přejděte na stránku Publikovat a klikněte na Poblikovat nyní.
Manifest zobrazte znovu. Chcete-li zobrazit manifest, přejděte do adresáře pro publikování, klikněte pravým tlačítkem myši na soubor a klikněte na Otevřít pomocí, a pak Vyberte program ze seznamu, a pak klikněte na Program Poznámkový blok.
Verze by měla být nyní nahrazena touto:
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
Viz také
Úkoly
Postupy: Zadání událostí sestavení (C#)
Odkaz
kontextová nabídka stránka, Návrhář projektu (@)
publikovat stránka, designer projekt
Pre-sestavení událost/po sestavení událost příkazového čára dialogové okno