Especificar eventos de build personalizados no Visual Studio

O Visual Studio permite especificar comandos de build personalizados para execução automática antes do início de um build ou após sua conclusão. Você pode criar comandos para executar um arquivo .bat antes do início de um build ou copiar novos arquivos para uma pasta após sua conclusão. Os eventos de build personalizados serão executados somente quando o build atingir 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 desejar adicionar operações complexas ao seu processo de build, explore as técnicas de personalização do MSBuild. Por exemplo, é possível adicionar eventos de build para gerar arquivos de código e lidar adequadamente com a limpeza após uma operação clean ou executar a tarefa apenas quando as entradas estiverem desatualizadas.

Sintaxe para comandos de build personalizados

Os comandos de build seguem a mesma sintaxe dos comandos do prompt de comando do Windows, e você pode usar macros para criar facilmente os eventos. Para obter uma lista das macros disponíveis, confira Caixa de diálogo da linha de comando do evento de pré-build/evento de pós-build.

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

  • Adicione uma instrução call 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 os 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 obter um script em lotes, substitua a variável %I neste exemplo por %%I.