Compartilhar via


Especificar eventos de build personalizados no Visual Studio

O Visual Studio permite que você especifique comandos de build personalizados para serem executados automaticamente antes de um build ser iniciado ou depois de ser concluído. Você pode criar comandos para executar um arquivo .bat antes que um build inicie ou copie novos arquivos para uma pasta após a conclusão do build. Os eventos de build personalizados são executados somente quando o build atinge com êxito o ponto relevante no processo de build.

Este artigo fornece uma visão geral da sintaxe recomendada para comandos de build personalizados. Se você estiver procurando informações sobre uma linguagem de programação específica, consulte Visual Basic, C# e F#e Visual C++.

Dica

Se você quiser adicionar operações complexas ao seu processo de build, explore as técnicas de personalização do MSBuild. Por exemplo, você pode adicionar eventos de build para gerar arquivos de código e manipular corretamente a limpeza após uma clean operação ou executar a tarefa apenas quando as entradas estiverem desatualizadas.

Sintaxe para comandos de build personalizados

Os comandos de build seguem a mesma sintaxe que os comandos do prompt de comando do Windows e você pode usar as propriedades do MSBuild (também conhecidas como macros) para criar facilmente os eventos. Para obter uma lista das propriedades disponíveis do MSBuild, consulte as propriedades comuns do projeto MSBuild. Você também pode definir suas próprias propriedades do MSBuild no arquivo de projeto.

Para obter melhores resultados, siga estas dicas de formatação:

  • Adicione uma call instrução antes de todos os eventos de build que executam arquivos .bat.

    Exemplo: call C:\MyFile.bat

    Exemplo: call C:\MyFile.bat call C:\MyFile2.bat

  • Coloque caminhos de arquivo entre aspas.

    Exemplo: "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -if "$(TargetPath)"

  • Separe vários comandos usando quebras de linha.

  • Inclua curingas conforme necessário.

    Exemplo: for %I in (*.txt *.doc *.html) do copy %I c:\<Directory>\

    Observação

    Para um script em lote, substitua a variável %I neste exemplo por %%I.