Conditions MSBuildMSBuild conditions

MSBuildMSBuild prend en charge un ensemble spécifique de conditions qui peuvent être appliquées à chaque fois qu’un attribut Condition est autorisé. supports a specific set of conditions that can be applied wherever a Condition attribute is allowed. Le tableau suivant décrit ces conditions.The following table explains those conditions.

ConditionCondition DescriptionDescription
'stringA' == 'stringB''stringA' == 'stringB' A la valeur true si stringA équivaut à stringB.Evaluates to true if stringA equals stringB.

Exemple :For example:

Condition="'$(CONFIG)'=='DEBUG'"

Les guillemets simples ne sont pas requis pour les chaînes alphanumériques simples ou les valeurs booléennes,Single quotes are not required for simple alphanumeric strings or boolean values. mais ils le sont pour les valeurs vides.However, single quotes are required for empty values.
'stringA' != 'stringB''stringA' != 'stringB' A la valeur true si stringA est différent de stringB.Evaluates to true if stringA is not equal to stringB.

Exemple :For example:

Condition="'$(CONFIG)'!='DEBUG'"

Les guillemets simples ne sont pas requis pour les chaînes alphanumériques simples ou les valeurs booléennes,Single quotes are not required for simple alphanumeric strings or boolean values. mais ils le sont pour les valeurs vides.However, single quotes are required for empty values.
<, >, <=, >=<, >, <=, >= Évalue les valeurs numériques des opérandes.Evaluates the numeric values of the operands. Retourne true si l’évaluation relationnelle a la valeur true.Returns true if the relational evaluation is true. Les opérandes doivent être un nombre décimal ou hexadécimal.Operands must evaluate to a decimal or hexadecimal number. Les nombres hexadécimaux doivent commencer par « 0x ».Hexadecimal numbers must begin with "0x". Remarque : au format XML, les caractères < et > doivent être insérés dans une séquence d’échappement.Note: In XML, the characters < and > must be escaped. Le symbole < est représenté sous la forme &lt;.The symbol < is represented as &lt;. Le symbole > est représenté sous la forme &gt;.The symbol > is represented as &gt;.
Exists(« stringA »)Exists('stringA') A la valeur true si un fichier ou un dossier du nom stringA existe.Evaluates to true if a file or folder with the name stringA exists.

Exemple :For example:

Condition="!Exists('$(builtdir)')"

Les guillemets simples ne sont pas requis pour les chaînes alphanumériques simples ou les valeurs booléennes,Single quotes are not required for simple alphanumeric strings or boolean values. mais ils le sont pour les valeurs vides.However, single quotes are required for empty values.
HasTrailingSlash (« stringA »)HasTrailingSlash('stringA') A la valeur true si la chaîne spécifiée contient une barre oblique inverse finale (\) ou une barre oblique (/).Evaluates to true if the specified string contains either a trailing backward slash (\) or forward slash (/) character.

Exemple :For example:

Condition="!HasTrailingSlash('$(OutputPath)')"

Les guillemets simples ne sont pas requis pour les chaînes alphanumériques simples ou les valeurs booléennes,Single quotes are not required for simple alphanumeric strings or boolean values. mais ils le sont pour les valeurs vides.However, single quotes are required for empty values.
!! A la valeur true si l’opérande a la valeur false.Evaluates to true if the operand evaluates to false.
EtAnd A la valeur true si les deux opérandes ont la valeur true.Evaluates to true if both operands evaluate to true.
OuOr A la valeur true si l’un des opérandes au moins a la valeur true.Evaluates to true if at least one of the operands evaluates to true.
()() Mécanisme de regroupement qui prend la valeur true si les expressions qu’il contient ont la valeur true.Grouping mechanism that evaluates to true if expressions contained inside evaluate to true.
$if$ ( %expression% ), $else$, $endif$$if$ ( %expression% ), $else$, $endif$ Vérifie si la condition %expression% spécifiée correspond à la valeur de chaîne du paramètre de modèle personnalisé transmis.Checks whether the specified %expression% matches the string value of the passed custom template parameter. Si la condition $if$ prend la valeur true, ses instructions sont exécutées ; dans le cas contraire, la condition $else$ est vérifiée.If the $if$ condition evaluates to true, then its statements are run; otherwise, the $else$ condition is checked. Si la condition $else$ a la valeur true, ses instructions sont exécutées. Dans le cas contraire, la condition $endif$ met fin à l’évaluation de l’expression.If the $else$ condition is true, then its statements are run; otherwise, the $endif$ condition ends expression evaluation.

Pour obtenir des exemples d’utilisation, consultez Logique des paramètres de modèles de projet/d’élément Visual Studio.For examples of usage, see Visual Studio project/item template parameter logic.

Voir aussiSee also

Informations de référence sur MSBuild MSBuild reference
Constructions conditionnelles Conditional constructs
Procédure pas à pas : création d’un fichier projet MSBuild en partant de zéroWalkthrough: Creating an MSBuild project file from scratch