Sdílet prostřednictvím


Jak: zadání událostí sestavení (C#)

Pomocí sestavení událostí zadejte příkazy, které před zahájením sestavení nebo po dokončení sestavení.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řidejte kroky sestavení chyb příkazů.

[!POZNÁMKA]

Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny 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 Nastavení aplikace Visual Studio.

Jak určit události před sestavením a po sestavení

Zadání události sestavení

  1. V Průzkumníku řešení zvolte projekt, pro který chcete určit událost sestavení.

  2. V nabídce Projekt klikněte na Vlastnosti.

  3. Vyberte Vytvoření události kartu.

  4. V Pre-build události příkazového řádku zadejte syntaxi vytváření událostí.

    [!POZNÁMKA]

    Pokud je aktuální projekt a je spuštěna žádná sestavení Pre-Build události nelze spustit.

  5. 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.

  6. V Spustit událost post-build zadejte za jakých podmínek spuštěna událost post-build.

    [!POZNÁMKA]

    Přidání dlouhé syntaxe nebo vyberte libovolné sestavení makra z Pre-Build události nebo po-build příkazového řádku dialogové okno událost, klepněte na tlačítko elipsy () k zobrazení textového pole.

    Syntaxe sestavení událostí může obsahovat libovolný příkaz, který je platný v příkazovém řádku nebo v souboru bat.Název dávkového souboru by mělo předcházet call k zajištění, že jsou provedeny všechny následující příkazy.

    Poznámka: pre-build nebo post-build události nebude úspěšně proveden, může ukončit sestavení tak, že akce události exit s kódem než nula (0), která označuje úspěšné akce.

Příklad: Jak změnit Manifest informace pomocí Post-Build události

Následující postup ukazuje, jak nastavit minimální operační systém verze v manifestu aplikace pomocí příkazu exe, volané z post-build události (. 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

  1. Vytvořte konzolovou aplikaci pro příkaz.Z soubor nabídce přejděte na Novýa klepněte na tlačítko projektu.

  2. V Nový projekt dialogové okno pole, rozbalte položku Visual C#, klepněte na tlačítko Windowsa klepněte Aplikace konzoly šablony.Název projektu ChangeOSVersionCS.

  3. V Program.cs, přidejte následující řádek do druhé using na začátku souboru příkazů:

    using System.Xml;
    
  4. V ChangeOSVersionCS oboru názvů, nahradit 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 používá dva argumenty: cesta manifest aplikace (je složka ve které vytvoří procesu vytváření manifestu obvykle Projectname.publish) a novou verzi operačního systému.

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

  6. 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

  1. 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.

  2. V Nový projekt dialogové okno pole, rozbalte položku Visual C#, klepněte na Windowsa klepněte Model Windows Forms aplikace šablony.Název projektu CSWinApp.

  3. S projektem vybraným v Průzkumníku řešení, v nabídce Projekt klikněte na Vlastnosti.

  4. Vyhledejte v Návrháři projektu publikovat stránce a nastavení umístění pro publikování na C:\TEMP\.

  5. Publikujte projekt kliknutím na tlačítko Publikovat nyní.

    Soubor manifestu bude vytvořena a do 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" />
    
  6. V Návrháři projektu klepněte Vytvoření události kartu a klepněte na tlačítko Upravit Post-build tlačítko.

  7. V Post-build události příkazového řádku 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, které jsou vytvořeny v adresáři bin.Publikování okopíruje tento manifest do umístění pro publikování, které jste nastavili dříve.

  8. Projekt publikujte znovu.Přejděte na stránku Publikovat a klikněte na Poblikovat nyní.

    Manifest zobrazte znovu.Zobrazit manifestu, otevřete adresář pro publikování, 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.

    Verze by měla být nyní nahrazena touto:

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

Viz také

Úkoly

Jak: zadání událostí sestavení (Visual Basic)

Referenční dokumentace

Sestavení události stránce projektu Designer (C#)

Pre-Build události nebo po-build příkazového řádku dialogové okno událost

Další zdroje

Sestavování aplikací v sadě Visual Studio