Condiciones de MSBuildMSBuild conditions

MSBuildMSBuild admite un conjunto específico de condiciones que se pueden aplicar allí donde se permita un atributo Condition.supports a specific set of conditions that can be applied wherever a Condition attribute is allowed. En la siguiente tabla se explican esas condiciones.The following table explains those conditions.

CondiciónCondition DescripciónDescription
'stringA' == 'stringB''stringA' == 'stringB' Se evalúa como true si stringA es igual a stringB.Evaluates to true if stringA equals stringB.

Por ejemplo:For example:

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

Las comillas simples no son necesarias para las cadenas alfanuméricas simples o los valores booleanos.Single quotes are not required for simple alphanumeric strings or boolean values. Sin embargo, las comillas simples son necesarias para los valores vacíos.However, single quotes are required for empty values.
'stringA' != 'stringB''stringA' != 'stringB' Se evalúa como true si stringA no es igual a stringB.Evaluates to true if stringA is not equal to stringB.

Por ejemplo:For example:

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

Las comillas simples no son necesarias para las cadenas alfanuméricas simples o los valores booleanos.Single quotes are not required for simple alphanumeric strings or boolean values. Sin embargo, las comillas simples son necesarias para los valores vacíos.However, single quotes are required for empty values.
<, >, <=, >=<, >, <=, >= Evalúa los valores numéricos de los operandos.Evaluates the numeric values of the operands. Devuelve true si la evaluación relacional es verdadera.Returns true if the relational evaluation is true. Los operandos deben evaluarse como un número decimal o hexadecimal.Operands must evaluate to a decimal or hexadecimal number. Los números hexadecimales deben comenzar con "0x".Hexadecimal numbers must begin with "0x". Nota: En XML, los caracteres < y > deben ser de escape.Note: In XML, the characters < and > must be escaped. El símbolo < se representa como &lt;.The symbol < is represented as &lt;. El símbolo > se representa como &gt;.The symbol > is represented as &gt;.
Existe ('stringA')Exists('stringA') Se evalúa como true si existe un archivo o una carpeta con el nombre stringA.Evaluates to true if a file or folder with the name stringA exists.

Por ejemplo:For example:

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

Las comillas simples no son necesarias para las cadenas alfanuméricas simples o los valores booleanos.Single quotes are not required for simple alphanumeric strings or boolean values. Sin embargo, las comillas simples son necesarias para los valores vacíos.However, single quotes are required for empty values.
HasTrailingSlash ('stringA')HasTrailingSlash('stringA') Se evalúa como true si la cadena especificada contiene al final un carácter de barra inversa (\) o barra diagonal (/).Evaluates to true if the specified string contains either a trailing backward slash (\) or forward slash (/) character.

Por ejemplo:For example:

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

Las comillas simples no son necesarias para las cadenas alfanuméricas simples o los valores booleanos.Single quotes are not required for simple alphanumeric strings or boolean values. Sin embargo, las comillas simples son necesarias para los valores vacíos.However, single quotes are required for empty values.
!! Se evalúa como true si el operando se evalúa como false.Evaluates to true if the operand evaluates to false.
YAnd Se evalúa como true si ambos operandos se evalúan como true.Evaluates to true if both operands evaluate to true.
O bienOr Se evalúa como true si al menos uno de los operandos se evalúa como true.Evaluates to true if at least one of the operands evaluates to true.
()() Mecanismo de agrupamiento que se evalúa como true si las expresiones que contiene se evalúan como true.Grouping mechanism that evaluates to true if expressions contained inside evaluate to true.
$if$ ( %expression% ), $else$, $endif$$if$ ( %expression% ), $else$, $endif$ Comprueba si el %expression% especificado coincide con el valor de cadena del parámetro de plantilla personalizado pasado.Checks whether the specified %expression% matches the string value of the passed custom template parameter. Si la condición $if$ se evalúa como true, sus instrucciones se ejecutan; en caso contrario, se comprueba la condición $else$.If the $if$ condition evaluates to true, then its statements are run; otherwise, the $else$ condition is checked. Si la condición $else$ es true, sus instrucciones se ejecutan; en caso contrario, la condición $endif$ finaliza la evaluación de expresiones.If the $else$ condition is true, then its statements are run; otherwise, the $endif$ condition ends expression evaluation.

Para obtener ejemplos de uso, vea Visual Studio project/item template parameter logic (Lógica del parámetro de plantillas de proyecto o elemento de Visual Studio).For examples of usage, see Visual Studio project/item template parameter logic.

Vea tambiénSee also