How to: Usar variáveis de ambiente em uma compilação
Quando você cria projetos, geralmente é necessário definir as opções de compilação usando informações que não está no arquivo de projeto ou os arquivos que compõem o seu 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 possui 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 MSBuild
A variável de ambiente de referência da mesma forma que faria com uma variável declarada em seu 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 foi definido.
Para fornecer um valor padrão para uma propriedade
Use um Condition atributo em uma propriedade para definir o valor somente se a propriedade tem nenhum valor. Por exemplo, o código a seguir define o ToolsPath propriedade para c:\Tools. somente se a ToolsPath a variável de ambiente não está definida:
<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>
Observação Os nomes de propriedade não diferenciam maiúsculas de minúsculas assim, ambos os $(ToolsPath) e $(TOOLSPATH) a mesma propriedade de referência ou variável de ambiente.
Exemplo
O arquivo de projeto a seguir 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
How to: Os mesmos arquivos de origem com diferentes Opçõesde compilação