Propriétés MSBuild

Mise à jour : novembre 2007

Les propriétés sont des paires clé/valeur qui peuvent être utilisées pour configurer les générations. Elles sont utiles pour passer des valeurs aux tâches, évaluer des conditions et stocker des valeurs qui seront référencées dans tout le fichier projet.

Définition et référence de propriétés dans un fichier projet

Les propriétés sont déclarées en créant un élément avec le nom de la propriété comme enfant d'un élément PropertyGroup. Par exemple, le code XML suivant crée une propriété nommée BuildDir avec la valeur Build.

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

Vous référencez les propriétés dans la totalité du fichier projet avec la syntaxe $(PropertyName). Par exemple, vous référencez la propriété de l'exemple précédent avec $(BuildDir).

Définition des propriétés à partir de la ligne de commande

MSBuild vous permet de définir les propriétés à partir de la ligne de commande à l'aide du commutateur de ligne de commande /property ou /p. Les valeurs de propriété reçues de la ligne de commande substituent les valeurs de propriété définies dans le fichier projet et celles héritées des variables d'environnement.

L'exemple de code suivant définit la propriété Configuration avec la valeur DEBUG.

MSBuild.exe MyProj.proj /p:Configuration=DEBUG

Propriétés réservées

MSBuild réserve certains noms de propriétés pour stocker des informations sur le fichier projet et les binaires MSBuild. Ces propriétés sont référencées avec la notation $ comme toute autre propriété. Pour plus d'informations, consultez Comment : référencer le nom ou l'emplacement du fichier projet et MSBuild, propriétés réservées.

Variables d'environnement

Vous pouvez référencer les variables d'environnement des fichiers projet de la même façon que les propriétés réservées. Par exemple, pour utiliser la variable d'environnement PATH dans votre fichier projet, utilisez $(Path). Si le projet contient une définition de propriété qui a le même nom qu'une variable d'environnement, la propriété du projet substitue la valeur de la variable d'environnement. Pour plus d'informations, consultez Comment : utiliser des variables d'environnement dans une génération.

Stockage de XML dans les propriétés

Les propriétés peuvent contenir un code XML arbitraire, qui peut aider à passer des valeurs aux tâches ou à afficher des informations d'enregistrement. L'exemple suivant affiche la propriété ConfigTemplate avec une valeur qui contient du code XML et d'autres références de propriété. MSBuild remplace les références de propriété par leurs valeurs de propriété respectives. Comme les valeurs des propriétés sont interprétées de haut en bas, dans cet exemple, $(MySupportedVersion), $(MyRequiredVersion) et $(MySafeMode) doivent avoir été déjà définies.

<PropertyGroup>
    <ConfigTemplate>
        <Configuration>
            <Startup>
                <SupportedRuntime
                    ImageVersion="$(MySupportedVersion)" 
                    Version="$(MySupportedVersion)"/>
                <RequiredRuntime
                    ImageVersion="$(MyRequiredVersion)
                    Version="$(MyRequiredVersion)" 
                    SafeMode="$(MySafeMode)"/>
            </Startup>
        </Configuration>
    </ConfigTemplate>
</PropertyGroup>

Voir aussi

Tâches

Comment : utiliser des variables d'environnement dans une génération

Comment : référencer le nom ou l'emplacement du fichier projet

Concepts

MSBuild

Vue d'ensemble de MSBuild

Référence

MSBuild, propriétés réservées

Property, élément (MSBuild)