Como: usar variáveis de ambiente em uma compilação
Quando você compila projetos, geralmente é necessário definir opções de compilação usando informações que não estão no arquivo de projeto ou os arquivos que compõem o projeto.Normalmente, essas informações são armazenadas em variáveis de ambiente.
Fazendo referência a variáveis de ambiente
Todas as variáveis de ambiente estão disponíveis para o Mecanismo de compilação Microsoft (MSBuild) o arquivo de projeto como propriedades.
Observação |
---|
Se o arquivo de projeto contém uma definição explícita de uma propriedade que tem o mesmo nome de uma variável de ambiente, a propriedade no arquivo de projeto substitui o valor da variável de ambiente. |
Para usar uma variável de ambiente em um projeto do MSBuild
Referência a variável de ambiente da mesma forma que faria em uma variável declarada no arquivo de projeto.Por exemplo, o código a seguir faz referência a variável de ambiente BIN_PATH:
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>
Você pode usar um Condition atributo para fornecer um valor padrão para uma propriedade se a variável de ambiente não foi definida.
Para fornecer um valor padrão para uma propriedade
Use um Condition atributo em uma propriedade para definir o valor somente se a propriedade não tem nenhum valor.Por exemplo, o código a seguir define o ToolsPath propriedade para c:\tools somente se o ToolsPath variável de ambiente não estiver definido:
<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>
Observação Propriedade nomes não diferenciam então ambos os $(ToolsPath) e $(TOOLSPATH) a mesma variável de ambiente ou propriedade de referência.
Exemplo
O seguinte arquivo de projeto usa variáveis de ambiente para especificar o local dos diretórios.
<Project DefaultTargets="FakeBuild">
<PropertyGroup>
<FinalOutput>$(BIN_PATH)\myassembly.dll</FinalOutput>
<ToolsPath Condition=" '$(ToolsPath)' == '' ">
C:\Tools
</ToolsPath>
</PropertyGroup>
<Target Name="FakeBuild">
<Message Text="Building $(FinalOutput) using the tools at $(ToolsPath)..."/>
</Target>
</Project>
Consulte também
Tarefas
Como: criar os mesmos arquivos de origem com diversas opções