Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous générez des projets, il est souvent nécessaire de définir des options de génération à l’aide d’informations qui ne se trouvent pas dans le fichier projet ou les fichiers qui composent votre projet. Ces informations sont généralement stockées dans des variables d’environnement.
Remarque
MSBuild traite les variables d’environnement comme des entrées approuvées. Ils peuvent entraîner le chargement de la logique de construction par MSBuild, tels que des tâches, .targets ou des fichiers .props à partir d'emplacements personnalisés ou modifier la façon dont le processus de compilation s'exécute.
Variables d’environnement de référence
Toutes les variables d’environnement qui sont des noms de propriétés MSBuild valides sont disponibles pour le fichier projet MSBuild en tant que propriétés. Les noms de propriétés valides sont décrits dans les propriétés MSBuild. Par exemple, les variables d’environnement commençant par un nombre ne sont pas disponibles dans MSBuild.
Remarque
Si le fichier projet contient une définition explicite d’une propriété portant le même nom qu’une variable d’environnement, la propriété du fichier projet remplace la valeur de la variable d’environnement.
Pour utiliser une variable d’environnement dans un projet MSBuild
Référencez la variable d’environnement de la même façon qu’une variable déclarée dans votre fichier projet. Par exemple, le code suivant fait référence à la variable d’environnement BIN_PATH :
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>Vous pouvez utiliser un
Conditionattribut pour fournir une valeur par défaut pour une propriété si la variable d’environnement n’a pas été définie.
Pour fournir une valeur par défaut pour une propriété
Utilisez un
Conditionattribut sur une propriété pour définir la valeur uniquement si la propriété n’a aucune valeur. Par exemple, le code suivant définit laToolsPathpropriété sur c :\tools uniquement si laToolsPathvariable d’environnement n’est pas définie :<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>Remarque
Les noms de propriétés ne respectent pas la casse et
$(ToolsPath)$(TOOLSPATH)font référence à la même propriété ou à la même variable d’environnement.
Exemple :
Le fichier projet suivant utilise des variables d’environnement pour spécifier l’emplacement des répertoires.
<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>