Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u projecten bouwt, is het vaak nodig om buildopties in te stellen met behulp van informatie die zich niet in het projectbestand bevindt of de bestanden waaruit uw project bestaat. Deze informatie wordt doorgaans opgeslagen in omgevingsvariabelen.
Opmerking
MSBuild behandelt omgevingsvariabelen als vertrouwde invoer. Ze kunnen ertoe leiden dat MSBuild buildlogica laadt, zoals taken, .targetsof .props bestanden van aangepaste locaties of dat de uitvoering van de build wordt gewijzigd.
Referentieomgevingsvariabelen
Alle omgevingsvariabelen die geldige MSBuild-eigenschapsnamen zijn, zijn beschikbaar voor het MSBuild-projectbestand als eigenschappen. Geldige eigenschapsnamen worden beschreven in MSBuild-eigenschappen. Omgevingsvariabelen die beginnen met een getal, zijn bijvoorbeeld niet beschikbaar in MSBuild.
Opmerking
Als het projectbestand een expliciete definitie bevat van een eigenschap met dezelfde naam als een omgevingsvariabele, overschrijft de eigenschap in het projectbestand de waarde van de omgevingsvariabele.
Een omgevingsvariabele gebruiken in een MSBuild-project
Verwijs naar de omgevingsvariabele op dezelfde manier als een variabele die in het projectbestand is gedeclareerd. De volgende code verwijst bijvoorbeeld naar de omgevingsvariabele BIN_PATH:
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>U kunt een
Conditionkenmerk gebruiken om een standaardwaarde voor een eigenschap op te geven als de omgevingsvariabele niet is ingesteld.
Een standaardwaarde opgeven voor een eigenschap
Gebruik een
Conditionkenmerk voor een eigenschap om de waarde alleen in te stellen als de eigenschap geen waarde heeft. Met de volgende code wordt deToolsPatheigenschap bijvoorbeeld alleen ingesteld op c:\tools als deToolsPathomgevingsvariabele niet is ingesteld:<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>Opmerking
Eigenschapsnamen zijn niet hoofdlettergevoelig, dus beide
$(ToolsPath)verwijzen$(TOOLSPATH)naar dezelfde eigenschap of omgevingsvariabele.
Voorbeeld
In het volgende projectbestand worden omgevingsvariabelen gebruikt om de locatie van mappen op te geven.
<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>