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çã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
Com um projeto selecionado no Solution Explorer, no menu Project, clique em Properties.
Clique na guia Compile.
Clique no botão Build Events para abrir a caixa de diálogo Build Events
Insira os argumentos de linha de comando para a ação pre-build ou post-build, e clique OK.
Observaçã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çã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
Crie um aplicativo de console para o comando.No menu File, clique em New, e em seguida, clique em Project
Na caixa de diálogo Novo Projeto , no nó Visual Basic , selecione Windows e, em seguida, o modelo Console Application .Nomeie o projeto ChangeOSVersionVB .
Em Module1.vb, adicione a seguinte linha para as outras instruções Imports na parte superior do arquivo:
Imports System.Xml
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.
Sobre o Build menu, clique em Build Solution.
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
Crie um aplicativo do Windows para o projeto a ser publicado.No menu File, clique em New, e em seguida, clique em Project
Na caixa de diálogo Novo Projeto , no nó Visual Basic , selecione Windows e, em seguida, o modelo Console Application .Nomeie o projeto VBWinApp .
Com um projeto selecionado no Solution Explorer, no menu Project clique em Properties.
No Criador de projeto, vá para a página Publish e defina Publishing location C:\TEMP\.
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" />
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 .
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.
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