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çãoObservaçã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çãoObservaçã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

Conceitos

Propriedadesdo MSBuild

Outros recursos

MSBuild