Compartilhar via


Como especificar eventos de compilação (Visual Basic)

Eventos de compilação no Visual Basic podem ser usados para executar scripts, macros ou outras ações como parte do processo de compilação.Eventos pre-build ocorrerão antes da compilação; eventos post-build ocorrem após a compilação.

Eventos de compilação são especificados na caixa de diálogo Build Events, acessível da página Compile do Project Designer.

ObservaçãoObservação

Visual Basic Express não oferece suporte a entrada de eventos de compilação.Isso é suportado apenas no produto completo Visual Studio.

Como Especificar Eventos Pre-Build e Post-Build

Para especificar um evento compilação

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

  2. Clique na guia Compile.

  3. Clique no botão Build Events para abrir a caixa de diálogo Build Events

  4. Insira os argumentos de linha de comando para a ação pre-build ou post-build, e clique OK.

    ObservaçãoObservação

    Adicione uma instrução call antes de todos os comandos Post-Build que executam arquivos .bat.Por exemplo, call C:\MyFile.bat ou call C:\MyFile.bat call C:\MyFile2.bat.

    ObservaçãoObservação

    Se o seu evento Pre-Build ou Post-Build não for concluída com êxito, você pode encerrar a compilação por ter sua ação de evento fechado com um código diferente de zero (0), o que indica uma ação bem-sucedida.

Exemplo: Como alterar informações de manifesto usando um evento Post-Build

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 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, clique em New, e em seguida, clique em Project

  2. Na caixa de diálogo Novo Projeto , no nó Visual Basic , selecione Windows e, em seguida, o modelo Console Application .Nomeie o projeto ChangeOSVersionVB .

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

    Imports System.Xml
    
  4. Adicione o seguinte código em 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
    

    O comando utiliza dois argumentos.O primeiro argumento é o caminho para o manifesto do aplicativo (ou seja, a pasta na qual o processo de criação cria o manifesto, geralmente ProjectName.publish).O segundo argumento é a nova versão do sistema operacional.

  5. Sobre o Build menu, clique em Build Solution.

  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, clique em New, e em seguida, clique em Project

  2. Na caixa de diálogo Novo Projeto , no nó Visual Basic , selecione Windows e, em seguida, o 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, vá para a guia Compile e clique no botão Criar eventos para abrir a caixa de diálogo Criar eventos .

  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.

    A macro $(TargetPath) expressa o caminho completo para o arquivo executável que está sendo criado.Portanto, .manifest $ (TargetPath) 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 (C#)

Referência

Página de Compilação, Designer de Projeto (Visual Basic)

Página de Publicação, Designer de Projeto

Caixa de diálogo Evento de Pré-compilação/Linha de Comando do Evento de Pós-compilação

Outros recursos

Gerenciar propriedades de compilação