Postupy: Zadání událostí sestavení (C#)
Slouží k určení příkazy, které před zahájením sestavení nebo po dokončení sestavení build události. Události sestavení jsou spuštěny pouze v případě, že sestavení úspěšně dosáhne těchto bodů v procesu sestavení.
Při vytváření projektu pre-build události jsou přidány do souboru s názvem PreBuildEvent.bat a post-build události jsou přidány do souboru s názvem PostBuildEvent.bat. Pokud chcete zajistit kontrolu chyb, přidáte vlastní příkazy chyb kroky sestavení.
Poznámka
Ve vašem počítači se pro některé z prvků uživatelského rozhraní aplikace Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedena v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Visual Studio, nastavení.
Jak určit události před sestavením a po sestavení
Zadání události sestavení
V Průzkumníku řešení zvolte projekt, pro který chcete určit událost sestavení.
V nabídce Projekt klikněte na Vlastnosti.
Vyberte Vytvoření události kartu.
V Pre-build události příkazového řádku zadejte syntaxi vytváření událostí,.
Poznámka
Pokud je aktuální projekt a spustil žádné sestavení Pre-Build události nelze spustit.
V příkazového řádku událost Post-build zadejte syntaxi vytváření událostí,.
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.
V Spustit událost post-build zadejte podmínky, za jakých spustit událost post-build,.
Poznámka
Přidání dlouhé syntaxe nebo vyberte libovolné sestavení makra z Pre-sestavení událost/po sestavení událost příkazového čára dialogové okno, klepněte na tlačítko elipsy (…) k zobrazení textového pole.
Syntaxe sestavení událostí může obsahovat jakýkoli příkaz platný příkazového řádku nebo souboru bat. Název souboru dávkového předchází call zajistit, že všechny následné příkazy provedeny.
Poznámka: -li pre-build nebo post-build události není úspěšně dokončena, může ukončit sestavení tím akce události exit s kódem než nula (0), která označuje úspěšné akce.
Příklad: Jak změnit manifestu informace pomocí událost Post-Build
Následující postup ukazuje, jak nastavit minimální operační systém verze v manifestu aplikace pomocí příkazu exe, který se nazývá z událost post-build (. exe.manifest soubor 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. Z soubor nabídce přejděte na Novýa klepněte na tlačítko projektu.
V Nový projekt dialogové okno pole, rozbalte položku Visual C#, klepněte na tlačítko Windowsa klepněte Aplikace konzoly šablony. Pojmenujte projekt ChangeOSVersionCS.
V Program.cs, přidejte následující řádek do jiného using příkazy na začátku souboru:
using System.Xml;
V ChangeOSVersionCS oboru názvů, nahradí Program Implementace třídy s následujícím kódem:
class Program { /// <summary> /// This function will set the minimum operating system version for a ClickOnce application. /// </summary> /// <param name="args"> /// Command Line Arguments: /// 0 - Path to application manifest (.exe.manifest). /// 1 - Version of OS ///</param> static void Main(string[] args) { string applicationManifestPath = args[0]; Console.WriteLine("Application Manifest Path: " + applicationManifestPath); // Get version name. Version osVersion = null; if (args.Length >=2 ){ osVersion = new Version(args[1]); }else{ throw new ArgumentException("OS Version not specified."); } Console.WriteLine("Desired OS Version: " + osVersion.ToString()); XmlDocument document; XmlNamespaceManager namespaceManager; namespaceManager = new XmlNamespaceManager(new NameTable()); namespaceManager.AddNamespace("asmv1", "urn:schemas-microsoft-com:asm.v1"); namespaceManager.AddNamespace("asmv2", "urn:schemas-microsoft-com:asm.v2"); document = new XmlDocument(); document.Load(applicationManifestPath); string baseXPath; baseXPath = "/asmv1:assembly/asmv2:dependency/asmv2:dependentOS/asmv2:osVersionInfo/asmv2:os"; // Change minimum required operating system version. XmlNode node; 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); } }
Příkaz má dva argumenty: Cesta manifest aplikace (tedy složce ve které vytvoří proces vytváření manifestu obvykle Projectname.publish) a novou verzi operačního systému.
Projekt sestavte. 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 vyvoláte příkaz Upravit manifest aplikace post-build události.
K vyvolání post-build událost změnit manifest aplikace
Vytvořte aplikaci pro systém Windows pro projekt, který má být publikován. Z soubor nabídce přejděte na Novýa klepněte na tlačítko projektu.
V Nový projekt dialogové okno pole, rozbalte položku Visual C#, klepněte na tlačítko Windowsa klepněte Model Windows Forms aplikace šablony. Pojmenujte projekt CSWinApp.
S projektem vybraným v Průzkumníku řešení, v nabídce Projekt klikněte na Vlastnosti.
Vyhledejte v Návrháři projektu Publikovat stránce a nastavení umístění publikování na C:\TEMP\.
Publikujte projekt kliknutím na tlačítko Publikovat nyní.
Soubor manifestu budou budována a uváděna C:\TEMP\CSWinApp_1_0_0_0\CSWinApp.exe.manifest. Manifest zobrazit, klepněte pravým tlačítkem myši na soubor, klepněte na tlačítko Otevřít s, vyberte Vyberte program ze seznamua klepněte na tlačítko 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 klepněte Vytvoření události kartu a klepněte Upravit Post-build tlačítko.
V příkazového řádku událost Post-build zadejte následující příkaz:
C:\TEMP\ChangeOSVersionCS.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.
Protože $(TargetPath) makro vyjadřuje úplnou cestu pro spustitelný soubor vytvořen, $(TargetPath)manifest určí 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. Manifest zobrazit, otevřete adresář pro publikování, klepněte pravým tlačítkem myši na soubor, klepněte na Otevřít s, vyberte Vyberte program ze seznamua klepněte na tlačítko 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: Určit události sestavení (Visual Basic)
Odkaz
Stránka události sestavení, Návrhář projekt (C#)
Pre-sestavení událost/po sestavení událost příkazového čára dialogové okno