Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í.
Jak určit události před sestavením a po sestavení
Pokud chcete zobrazit nebo změnit události sestavení pro projekt Visual Basic .NET Core nebo .NET 5 nebo novější, klikněte pravým tlačítkem myši na uzel projektu a zvolte Vlastnosti (nebo stiskněte Alt+Enter), přejděte na Kompilovat>události. Zadejte požadovaný příkazový řádek. Pracovní adresář je výstupní adresář.
Pro projekty rozhraní .NET Framework postupujte takto:
Pokud je projekt vybraný v Průzkumníku řešení , vyberte v nabídce Projekt možnost Vlastnosti.
Klikněte na kartu Zkompilovat.
Kliknutím na tlačítko Události sestavení otevřete dialogové okno Události sestavení.
Zadejte argumenty příkazového řádku pro akci před sestavením nebo po sestavení a klikněte na tlačítko OK.
Události sestavení jsou zadány v dialogovém okně Události sestavení dostupné na stránce Kompilacenávrháře projektu.
Jak určit události před sestavením a po sestavení
Chcete-li specifikovat událost sestavení
Pokud je projekt vybraný v Průzkumníku řešení , vyberte v nabídce Projekt možnost Vlastnosti.
Klikněte na kartu Zkompilovat.
Kliknutím na tlačítko Události sestavení otevřete dialogové okno Události sestavení.
Zadejte argumenty příkazového řádku pro akci před sestavením nebo po sestavení a klikněte na tlačítko OK.
Poznámka
call Před všechny příkazy po sestavení, které spouštějí .bat soubory, přidejte příkaz. 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.
Ve skriptech můžete odkazovat na makra (ve skutečnosti názvy vlastností MSBuild). Chcete-li odkazovat na vlastnost, použijte syntaxi $(PropertyName), která je nahrazena hodnotou vlastnosti při spuštění skriptu události. Seznam běžně používaných hodnot naleznete v tématu MSBuild společné vlastnosti. V souboru projektu mohou být definovány i další vlastnosti, v jakýchkoli importovaných souborech v souboru projektu, v proměnných prostředí nebo předány na příkazovém řádku pomocí -p přepínače MSBuild během sestavení příkazového řádku.
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 volaný .exe z události po sestavení ( .exe.manifest soubor 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
Vytvořte konzolovou aplikaci pro příkaz. V nabídce Soubor klikněte na Novýa poté na Projekt.
V dialogovém okně Nový projekt v uzlu Visual Basic vyberte Windows a potom šablonu konzolové aplikace. Pojmenujte projekt
ChangeOSVersionVB.Do Module1.vbpřidejte následující řádek k ostatním příkazům
Importsv horní části souboru:Imports System.XmlDo
Sub Mainpř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 SubPří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.
V nabídce Sestavení klepněte na Sestavení řešení.
Zkopírujte soubor .exe do adresáře, například 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
Vytvořte aplikaci pro Windows pro projekt, který se má publikovat. V nabídce Soubor klikněte na Novýa poté na Projekt.
V dialogovém okně Nový projekt v uzlu Visual Basic vyberte Windows Desktop a potom šablonu aplikace Windows Forms. Pojmenujte projekt
VBWinApp.Pokud je projekt vybraný v průzkumníku řešení , v nabídce Project klikněte na Vlastnosti.
V návrháři projektu přejděte na stránku Publikovat a nastavte umístění publikování na C:\TEMP .
Publikujte projekt kliknutím na Publikovat nyní.
Soubor manifestu bude sestaven a vložen 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, klepněte na tlačítko Vyberte program ze seznamua potom klepněte na tlačítko Poznámkový blok.
Vyhledejte v souboru prvek
<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 Kompilace a kliknutím na tlačítko Události sestavení otevřete dialogové okno Události sestavení.
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.0Př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.$(TargetPath).manifestProto určuje 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.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 příkaz Otevřít pomocí a potom Vyberte program ze seznamua potom klikněte na Poznámkový blok.
Verze by teď měla číst:
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />