Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As técnicas neste artigo são úteis quando você deseja personalizar todas as compilações executadas em um computador, máquina virtual ou contêiner específico. Por exemplo, ao configurar um servidor de build, talvez seja necessário definir as configurações do MSBuild globalmente para todos os builds no servidor. Em princípio, você pode modificar os arquivos globais Microsoft.Common.Targets ou Microsoft.Common.Props , mas há uma maneira melhor. Você pode afetar todos os builds de um determinado tipo de projeto (como todos os projetos em C#) usando determinadas propriedades do MSBuild e adicionando certos arquivos personalizados .targets e .props.
Antes e depois dos arquivos padrão .props e .targets
Para afetar todos os builds do C# ou do Visual Basic regidos por uma instalação do MSBuild ou do Visual Studio, crie um arquivo Custom.Before.Microsoft.Common.Targets ou Custom.After.Microsoft.Common.Targets com destinos que serão executados antes ou depois do Microsoft.Common.targets ou um arquivo Custom.Before.Microsoft.Common.Props ou Custom.After.Microsoft.Common.Props com propriedades que serão processadas antes ou depois do Microsoft.Common.props.
Você pode especificar os locais desses arquivos usando as seguintes propriedades do MSBuild:
- CustomBeforeMicrosoftCommonProps
- CustomBeforeMicrosoftCommonTargets
- CustomAfterMicrosoftCommonProps
- CustomAfterMicrosoftCommonTargets
- CustomBeforeMicrosoftCSharpTargets
- CustomBeforeMicrosoftVisualBasicTargets
- CustomAfterMicrosoftCSharpTargets
- CustomAfterMicrosoftVisualBasicTargets
As versões comuns dessas propriedades afetam os projetos C# e Visual Basic. Você pode definir essas propriedades na linha de comando do MSBuild.
msbuild /p:CustomBeforeMicrosoftCommonTargets="C:\build\config\Custom.Before.Microsoft.Common.Targets" MyProject.csproj
Aviso
O Visual Studio usa os arquivos personalizados .targets ou .props caso eles sejam encontrados na pasta MSBuild sempre que compilar um projeto do tipo correspondente. Essa personalização pode ter consequências não intencionais e, se feita incorretamente, pode desabilitar a capacidade do Visual Studio de criar em seu computador.
Substituir o arquivo de props comuns
Você também pode usar as propriedades AlternateCommonProps para especificar seu próprio .props arquivo a ser usado em vez de Microsoft.Common.props. Se você já sentiu a necessidade de personalizar Microsoft.Common.props modificando-o diretamente, você poderia copiar a versão padrão desse arquivo para outro arquivo e, em seguida, fazer suas alterações apenas na versão alternativa.
A melhor abordagem depende do seu cenário. Usando a Extensibilidade do Visual Studio, você pode personalizar o sistema de build e fornecer um mecanismo para instalar e gerenciar as personalizações.
Se você tiver um servidor de build dedicado e quiser garantir que determinados alvos sempre sejam executados em todos os builds do tipo de projeto apropriado que são executados nesse servidor, o uso de um arquivo global .targets ou um arquivo global .props personalizado faz sentido. Se você quiser que os destinos personalizados só executem quando determinadas condições se aplicarem, use outro local de arquivo e defina o caminho para esse arquivo definindo a propriedade MSBuild apropriada na linha de comando do MSBuild somente quando necessário.