Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
El sistema de proyectos divide las propiedades en dos tipos: propiedades simples y propiedades de agregado. Cada tipo de propiedad se evalúa de manera diferente en lo referente a la herencia de propiedades.
Propiedades simples
Las propiedades simples no son propiedades de cadena (por ejemplo: las propiedades de entero, booleano y enumeración) y contienen un único valor. Si se definen en el nivel local (este archivo de configuración, esta configuración o esta hoja de propiedades), se omite el valor heredado. Un ejemplo de este tipo de propiedad es la propiedad WarnAsError, que establece el modificador /WX para CL.EXE.
Propiedades de agregado
Las propiedades de agregado son siempre propiedades de cadena. El valor de una propiedad de agregado, definido en cualquier nivel, se concatena con el valor de su elemento primario. Un ejemplo de propiedad de agregado es la propiedad AdditionalIncludeDirectories que establece el modificador /I para CL.EXE. Las propiedades de ruta de acceso son un buen ejemplo de propiedades de agregado porque están formadas por una lista de varios valores, en lugar de constituir un único valor.
Existen tres macros integradas especiales que controlan la evaluación de las propiedades de agregado:
$(Inherit)
Especifica que se evalúen los valores de propiedad del elemento primario e inserta dichos valores en lugar de la macro. Si $(Inherit) no se especifica en ningún lugar, se asume al final del valor, lo que significa que los valores del elemento primario se adjuntan al valor en el nivel actual.$(NoInherit)
Especifica que no se adjunten los valores de propiedad del elemento primario a la propiedad de agregado. La macro $(NoInherit) reemplaza a la macro $(Inherit).$(StopEvaluating)
Especifica que se detenga toda la evaluación en la propiedad de agregado determinada donde se encuentra la macro. Se perderán los valores que aparezcan a continuación de la macro $(StopEvaluating).