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.

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çã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.

    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 usando 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 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. 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, 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 (translation from VPE for Csharp)

Referência

Compilar a página, Designer de projeto (Visual Basic)

Assinatura de Página, o criador do projeto

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

Outros recursos

Gerenciando as Propriedades de Compilação

Date

History

Motivo

Julho de 2008

Observação adicionada sobre códigos de sair.

Comentários do cliente.