Partilhar via


Como: Especificar eventos de compilação (translation from VPE for Csharp)

Use eventos compilação para especificar comandos executados inicia a compilação antes ou após a compilação conclusão.Criar eventos são executados somente se a compilação com êxito atingir esses pontos em o processo de criação.

Quando um projeto é criado, eventos Pre-compilação são adicionados a um arquivo que é denominado PreBuildEvent.bat e eventos Post-compilação são adicionados a um arquivo denominado PostBuildEvent.bat.Se você quiser assegurar a verificação de erros, adicione seus próprios comandos de verificação de erros às etapas de criação.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.

Como Especificar Eventos Pre-Build e Post-Build

Para especificar um evento compilação

  1. No Solution Explorer, selecione o projeto para o qual você deseja especificar o evento de compilação.

  2. No menu Project, clique em Properties..

  3. Selecione a Build Events Guia.

  4. Na caixa Pre-build event command line, especifique a sintaxe do evento compilação.

    Observação:

    Eventos Pre-Build não são executadas se o projeto está atualizado e nenhum compilação é acionado.

  5. Na caixa Post-build event command line, especifique a sintaxe do evento compilação.

    Observação:

    Adicionar um call demonstrativo antes todos POST-construir comandos executados arquivos .bat. Por exemplo, call C:\MyFile.bat ou call C:\MyFile.bat call C:\MyFile2.bat.

  6. Na caixa Run the post-build event, especifique em que condições para executar o evento Post-Build.

    Observação:

    Para adicionar longa sintaxe, ou para selecionar qualquer criar macros do Pré-Compilação evento/Evento de Pós-Compilaçãoo Comando Linha caixa de diálogo, clicar no botão de reticências () Para exibir uma caixa de edição.

    A sintaxe do evento de compilação pode incluir qualquer comando que é válido em um prompt de comando ou em um arquivo. bat.O nome de uma arquivo em lotes deve ser precedido por call para garantir que todos os comandos subsequentes serão executados.

Observação: Se o pre-build ou post-evento de compilação faz não concluída com êxito, você poderá eliminar a compilação tendo a ação de evento fechado com um código diferente de zero (0), que indica uma ação bem-sucedida.

Exemplo: Como alterar informações de manifesto por meio de um evento de pós-compilação

O procedimento a seguir mostra como definir a versão mínima do sistema operacional no manifesto do aplicativo usando um comando .exe chamado a partir de um evento Post-Build (o arquivo .exe.manifest no diretório do projeto).A versão mínima do sistema operacional é um número de quatro partes, como 4.10.0.0.Para fazer isso, o comando alterará a seção <dependentOS> do manifesto:

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

Para criar um comando .exe para alterar o manifesto do aplicativo

  1. Crie um aplicativo de console para o comando.No menu File, aponte para New e clique Project.

  2. Na caixa de diálogo Novo Projeto ,expanda Visual C# , clique em Windows e em seguida, clique no modelo Console Application .Nomeie o projeto ChangeOSVersionVB .

  3. Em Module.vb, adicione a seguinte linha para as outras instruções using na parte superior do arquivo:

    using System.Xml;
    
  4. No Editor de Códigos de ChangeOSVersionCS, substitua o código no namespace Program com o seguinte código:

    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);
       }
    }
    

    O comando leva dois argumentos: o caminho de manifesto do aplicativo (ou seja, a pasta no qual o processo de compilação cria o manifesto, normalmente projectname.publicar) e a nova versão do sistema operacional.

  5. Crie o projeto.On the Compilação menu, clicar Criar solução.

  6. Copie o arquivo .exe para uma pasta, como C:\TEMP\ChangeOSVersionVB.exe .

Em seguida, chame este comando em um evento Post-Build para alterar o manifesto do aplicativo.

Para chamar um evento Post-Build para alterar o manifesto do aplicativo

  1. Crie um aplicativo do Windows para o projeto a ser publicado.No menu File, aponte para New e clique Project.

  2. Na caixa de diálogo Novo Projeto ,expanda Visual C# , clique em Windows e em seguida, clique no modelo Console Application .Nomeie o projeto VBWinApp .

  3. Com um projeto selecionado no Solution Explorer, no menu Project clique em Properties.

  4. No Criador de projeto, vá para a página Publish e defina Publishing location C:\TEMP\.

  5. Publique o projeto, clicando em Publicar agora .

    O arquivo de manifesto será criado e colocado em C:\TEMP\VBWinApp_1_0_0_0\VBWinApp.exe.manifest .Para exibir o manifesto, clique com o botão direito do mouse no arquivo e clique em Abrir com ,clique em seguida, selecione o programa a partir de uma lista e em seguida, clique em Bloco de notas .

    Pesquisar no arquivo para o elemento <osVersionInfo>.Por exemplo, a versão pode ser:

    <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
    
  6. No Criador de projeto, clique na guia Criar eventos e clique no botão Editar Post-Build .

  7. Na caixa Linha de Comando de Eventos Post-Build , digite o seguinte comando:

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

    Ao criar o projeto, esse comando alterará a versão mínima do sistema operacional no manifesto do aplicativo para 5.1.2600.0.

    Porque a macro $(TargetPath) expressa o caminho completo para o arquivo executável que está sendo criado, o $(TargetPath).manifest especificará o manifesto do aplicativo criado no diretório Bin.A publicação copiará esse manifesto para o local de publicação que você definiu anteriormente.

  8. Publicar o projeto novamente.Vá para a página Publish e clique em Publicar agora .

    Exiba o manifesto novamente.Para exibir o manifesto, vá para o diretório de publicação, clique com o botão direito do mouse no arquivo e clique em Abrir com e, em seguida, selecione o programa a partir de uma lista e em seguida, clique em Bloco de notas .

    A versão agora deve ler:

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

Consulte também

Tarefas

Como: Especificar eventos de compilação (Visual Basic)

Referência

Página de eventos de compilação, Designer de projeto (C#)

Pré-Compilação evento/Evento de Pós-Compilaçãoo Comando Linha caixa de diálogo

Outros recursos

Criando no Visual Studio