Compartilhar via


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

Conceitos

Propriedades do MSBuild

Outros recursos

MSBuild