Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando você cria projetos, geralmente é necessário definir opções de compilação usando informações que não estão no arquivo de projeto ou nos arquivos que compõem seu projeto. Essas informações geralmente são armazenadas em variáveis de ambiente.
Observação
O MSBuild trata as variáveis de ambiente como entradas confiáveis. Eles podem fazer com que o MSBuild carregue lógicas de compilação, como por exemplo, tarefas ou arquivos .targets de locais personalizados, ou alterar a forma como a compilação é executada .props.
Variáveis de ambiente de referência
Todas as variáveis de ambiente que são nomes de propriedade MSBuild válidos estão disponíveis para o arquivo de projeto MSBuild como propriedades. Nomes de propriedade válidos são descritos em propriedades MSBuild. Por exemplo, variáveis de ambiente que começam com um número não estão disponíveis no MSBuild.
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 MSBuild
Faça referência à variável de ambiente da mesma forma que faria com uma variável declarada no arquivo de projeto. Por exemplo, o código a seguir faz referência à variável de ambiente BIN_PATH:
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>Você pode usar um
Conditionatributo para fornecer um valor padrão para uma propriedade se a variável de ambiente não tiver sido definida.
Para fornecer um valor padrão para uma propriedade
Use um
Conditionatributo em uma propriedade para definir o valor somente se a propriedade não tiver valor. Por exemplo, o código a seguir define aToolsPathpropriedade como c:\tools somente se aToolsPathvariável de ambiente não estiver definida:<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>Observação
Os nomes de propriedade não diferenciam maiúsculas de minúsculas, portanto, ambos
$(ToolsPath)fazem$(TOOLSPATH)referência à mesma propriedade 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>