Propiedades comunes de proyectos de MSBuild
En la tabla siguiente se enumeran las propiedades utilizadas con frecuencia definidas en los archivos de proyecto de Visual Studio o incluidas en los archivos .targets que proporciona MSBuild.
Los archivos de proyecto de Visual Studio (.csproj, .vbproj, vcxproj, etc.) contienen código XML de MSBuild que se ejecuta cuando se compila un proyecto mediante el IDE. Normalmente, los proyectos importan uno o más archivos .targets para definir su proceso de compilación. Para obtener más información, vea Archivos .Targets de MSBuild.
Lista de propiedades y parámetros comunes
Nombre de la propiedad o parámetro |
Descripción |
---|---|
AdditionalLibPaths |
Especifica carpetas adicionales en las que los compiladores deben buscar ensamblados de referencia. |
AddModules |
Hace que el compilador facilite toda la información de tipos presente en los archivos especificados al proyecto que se está compilando. Esta propiedad es equivalente al modificador /addModules del compilador. |
ALToolPath |
Ruta de acceso donde se puede encontrar AL.exe. Esta propiedad invalida la versión actual de AL.exe para permitir el uso de una versión diferente. |
ApplicationIcon |
Archivo de icono .ico que se va a pasar al compilador para incrustarlo como un icono de Win32. Esta propiedad es equivalente al modificador /win32icon de compilador. |
ApplicationManifest |
Especifica la ruta de acceso del archivo que se utiliza para generar la información externa del manifiesto del Control de cuentas de usuario (UAC). Solo se aplica a los proyectos de Visual Studio que tienen como destino Windows Vista. En la mayoría de los casos, el manifiesto está incrustado. Sin embargo, si utiliza una implementación de COM sin registro o de ClickOnce, el manifiesto puede ser un archivo externo que se instala junto con los ensamblados de la aplicación. Para obtener más información, vea la propiedad NoWin32Manifest en este tema. |
AssemblyOriginatorKeyFile |
Especifica el archivo que se utiliza para firmar el ensamblado (.snk o .pfx) y que se pasa a ResolveKeySource (Tarea) para generar la clave real que se usa para firmar el ensamblado. |
AssemblySearchPaths |
Lista de ubicaciones donde se realizarán las búsquedas durante la resolución de ensamblados de referencia en tiempo de compilación. El orden en que aparecen las rutas de acceso en esta lista es importante porque las rutas de acceso situadas antes en la lista tienen prioridad sobre las entradas posteriores. |
AssemblyName |
Nombre del ensamblado resultante final una vez compilado el proyecto. |
BaseAddress |
Especifica la dirección base del ensamblado resultante principal. Esta propiedad es equivalente al modificador /baseaddress del compilador. |
BaseOutputPath |
Especifica la ruta de acceso base del archivo de salida. Si se establece, MSBuild usará OutputPath = $(BaseOutputPath)\$(Configuration)\. Ejemplo de sintaxis: <BaseOutputPath>c:\xyz\bin\</BaseOutputPath> |
BaseIntermediateOutputPath |
Carpeta de nivel superior donde se crean todas las carpetas de resultados intermedios específicas de la configuración. El valor predeterminado es obj\. El siguiente código muestra un ejemplo: <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath> |
BuildInParallel |
Valor booleano que indica si las referencias del proyecto se compilan o limpian en paralelo cuando se utiliza MSBuild con varios procesadores. El valor predeterminado es true, que indica que los proyectos se compilarán en paralelo si el sistema tiene varios núcleos o procesadores. |
BuildProjectReferences |
Valor booleano que indica si MSBuild compilará las referencias de proyecto. Establezca su valor en false si va a compilar su proyecto en el entorno de desarrollo integrado (IDE) de Visual Studio; en caso contrario, utilice true. |
CleanFile |
Nombre del archivo que se utilizará como "caché limpia". La memoria caché limpia es una lista de archivos generados que se eliminarán durante la operación de limpieza. El proceso de compilación coloca el archivo en la ruta de acceso de los resultados intermedios. Esta propiedad solo especifica nombres de archivo sin información sobre su ruta de acceso. |
CodePage |
Especifica la página de códigos que se va a utilizar para todos los archivos de código fuente en la compilación. Esta propiedad es equivalente al modificador /codepage del compilador. |
CompilerResponseFile |
Archivo de respuesta opcional que se puede pasar a las tareas del compilador. |
Configuración |
Configuración que está compilando, "Debug" o "Release". |
CscToolPath |
Ruta de acceso de csc.exe, el compilador de Visual C#. |
CustomBeforeMicrosoftCommonTargets |
Nombre de un archivo de proyecto o archivo de destinos que se importará automáticamente antes de importar los destinos comunes. |
DebugSymbols |
Valor booleano que indica si la compilación genera símbolos. Si se establece en /p:DebugSymbols=false en la línea de comandos, se deshabilita la generación de archivos de símbolos (.pdb) de la base de datos del programa. |
DefineConstants |
Permite definir constantes condicionales para el compilador. Los pares símbolo-valor van separados por punto y coma, y se especifican con la siguiente sintaxis: símbolo1 = valor1; símbolo2 = valor2 Esta propiedad es equivalente al modificador /define de compilador. |
DefineDebug |
Valor booleano que indica si desea definir la constante DEBUG. |
DefineTrace |
Valor booleano que indica si desea definir la constante TRACE. |
DebugType |
Define el nivel de información de depuración que desea generar. Los valores válidos son "full", "pdbonly" y "none". |
DelaySign |
Valor booleano que indica si desea retrasar la firma del ensamblado en lugar de firmarlo completamente. |
DisabledWarnings |
Suprime las advertencias especificadas. Solo debe especificarse la parte numérica del identificador de advertencia. Las advertencias múltiples se separan con punto y coma. Este parámetro corresponde al modificador /nowarn del compilador de vbc.exe. |
DisableFastUpToDateCheck |
Valor booleano que solo se aplica a Visual Studio. El administrador de compilación de Visual Studio utiliza un proceso denominado FastUpToDateCheck para determinar si es necesario recompilar un proyecto para actualizarlo. Este proceso es más rápido que utilizar MSBuild. Al establecer la propiedad DisableFastUpToDateCheck en true, puede omitir el administrador de compilación de Visual Studio y obligarlo a usar MSBuild para determinar si el proyecto está actualizado. |
DocumentationFile |
Nombre del archivo que se genera como archivo de documentación XML. Este nombre solo incluye el nombre de archivo sin información sobre la ruta de acceso. |
ErrorReport |
Especifica cómo debe el compilador documentar los errores internos del compilador. Los valores válidos son "prompt", "send" o "none". Esta propiedad es equivalente al modificador /errorreport del compilador. |
ExcludeDeploymentUrl |
GenerateDeploymentManifest (Tarea) agrega una etiqueta deploymentProvider al manifiesto de implementación si el archivo de proyecto incluye alguno de los elementos siguientes:
Sin embargo, mediante ExcludeDeploymentUrl, puede evitar que la etiqueta deploymentProvider se agregue al manifiesto de implementación aunque se especifique alguna de las direcciones URL anteriores. Para ello, agregue la siguiente propiedad al archivo de proyecto: <ExcludeDeploymentUrl>true</ExcludeDeploymentUrl> Nota ExcludeDeploymentUrl no se expone en el IDE de Visual Studio y solo se puede establecer manualmente editando el archivo de proyecto. La configuración de esta propiedad no afecta a la publicación en Visual Studio; es decir, la etiqueta deploymentProvider se agregará de igual modo a la dirección URL especificada por PublishUrl. |
FileAlignment |
Especifica, en bytes, dónde se alinean las secciones del archivo de salida. Los valores válidos son 512, 1024, 2048, 4096, 8192. Esta propiedad es equivalente al modificador /filealignment del compilador. |
FrameworkPathOverride |
Especifica la ubicación de mscorlib.dll y microsoft.visualbasic.dll. Este parámetro es equivalente al modificador /sdkpath del compilador de vbc.exe. |
GenerateDocumentation |
Parámetro booleano que indica si la compilación generará la documentación. Si es true, la compilación genera la información de documentación y la coloca en un archivo .xml junto con el nombre del archivo ejecutable o la biblioteca creada por la tarea de compilación. |
IntermediateOutputPath |
Ruta de acceso intermedia completa de los resultados derivada de BaseIntermediateOutputPath, si no se especificó ninguna ruta de acceso. Por ejemplo, \obj\debug\. Si se invalida esta propiedad, el valor de BaseIntermediateOutputPath no tiene ningún efecto. |
KeyContainerName |
Nombre del contenedor de claves de nombre seguro. |
KeyOriginatorFile |
Nombre del archivo de claves de nombre seguro. |
NoWin32Manifest |
Determina si el compilador genera el manifiesto predeterminado de Win32 en el ensamblado resultante. El valor predeterminado false indica que el manifiesto de Win32 predeterminado se genera para todas las aplicaciones. Esta propiedad es equivalente al modificador /nowin32manifest del compilador de vbc.exe. |
ModuleAssemblyName |
Nombre del ensamblado al que se incorporará el módulo compilado. Esta propiedad es equivalente al modificador /moduleassemblyname de compilador. |
NoLogo |
Valor booleano que indica si se va a desactivar el logotipo del compilador. Esta propiedad es equivalente al modificador /nologo del compilador. |
NoStdLib |
Valor booleano que indica si se debe evitar hacer referencia a la biblioteca estándar (mscorlib.dll). El valor predeterminado es false. |
NoVBRuntimeReference |
Valor booleano que indica si el motor en tiempo de ejecución de Visual Basic (Microsoft.VisualBasic.dll) debe incluirse como una referencia en el proyecto. |
NoWin32Manifest |
Valor booleano que indica si la información del manifiesto de Control de cuentas de usuario (UAC) se incrustará en el archivo ejecutable de la aplicación. Solo se aplica a los proyectos de Visual Studio que tienen como destino Windows Vista. En los proyectos que se implementan con ClickOnce y COM sin registro, este elemento se omite. False (valor predeterminado) especifica que la información del manifiesto del Control de cuentas de usuario (UAC) se inserta en el ejecutable de la aplicación. True especifica que la información de manifiesto de UAC no debe incrustarse. Esta propiedad solo se aplica a los proyectos de Visual Studio que tienen como destino Windows Vista. En los proyectos que se implementan con ClickOnce y COM sin registro, se omite esta propiedad. Solo debe agregar NoWin32Manifest si no desea que Visual Studio incruste información del manifiesto en el archivo ejecutable de la aplicación; este proceso se denomina virtualización. Para utilizar la virtualización, establezca <ApplicationManifest> junto con <NoWin32Manifest> del modo siguiente:
|
Optimize |
Valor booleano que, cuando se establece en true, permite la optimización del compilador. Esta propiedad es equivalente al modificador /optimize del compilador. |
OptionCompare |
Especifica la forma en que se realizan las comparaciones de cadenas. Los valores válidos son "binary" o "text". Esta propiedad es equivalente al modificador /optioncompare del compilador de vbc.exe. |
OptionExplicit |
Valor booleano que, cuando se establece en true, requiere la declaración explícita de variables en el código fuente. Esta propiedad es equivalente al modificador /optionexplicit del compilador. |
OptionInfer |
Valor booleano que, cuando se establece en true, permite la inferencia de tipos de variables. Esta propiedad es equivalente al modificador /optioninfer del compilador. |
OptionStrict |
Valor booleano que, cuando se establece en true, hace que la tarea de compilación exija una semántica de tipos estricta para restringir las conversiones de tipos implícitas. Esta propiedad es equivalente al modificador /optionstrict del compilador de vbc.exe. |
OutputPath |
Especifica la ruta de acceso del directorio de salida con respecto al directorio del proyecto, por ejemplo "bin\Debug". |
OutputType |
Especifica el formato del archivo de salida. Este parámetro puede tener uno de los valores siguientes:
Esta propiedad es equivalente al modificador /target del compilador de vbc.exe. |
OverwriteReadOnlyFiles |
Valor booleano que indica si desea que la compilación sobrescriba los archivos de solo lectura o produzca un error. |
PdbFile |
Nombre del archivo .pdb que va a emitir. Esta propiedad es equivalente al modificador /pdb del compilador de csc.exe. |
Plataforma |
Sistema operativo para el que se está compilando. Los valores válidos son "Any CPU", "x 86" y "x 64". |
RemoveIntegerChecks |
Valor booleano que indica si se van a deshabilitar las comprobaciones de los errores de desbordamiento de enteros. El valor predeterminado es false. Esta propiedad es equivalente al modificador /removeintchecks del compilador de vbc.exe. |
SGenUseProxyTypes |
Valor booleano que indica si SGen.exe debe generar los tipos de proxy. El destino de SGen usa esta propiedad para establecer la marca UseProxyTypes. Esta propiedad tiene el valor predeterminado true y no hay ninguna interfaz de usuario para cambiarlo. Para generar el ensamblado de serialización para tipos que no son de servicio web, agregue esta propiedad al archivo de proyecto y establézcalo en false antes de importar Microsoft.Common.Targets o C#/VB.targets. |
SGenToolPath |
Ruta de acceso opcional de la herramienta que indica dónde obtener SGen.exe cuando se invalida la versión actual de SGen.exe. |
StartupObject |
Especifica la clase o módulo que contiene el método Main o el procedimiento Main Sub. Esta propiedad es equivalente al modificador /main del compilador. |
ProcessorArchitecture |
Arquitectura de procesador utilizada cuando se resuelven las referencias de ensamblado. Los valores válidos son "msil", "x86", "amd64" o "ia64". |
RootNamespace |
Espacio de nombres raíz que se utilizará al asignar nombre a un recurso incrustado. Este espacio de nombres forma parte del nombre de manifiesto del recurso incrustado. |
Satellite_AlgorithmId |
Id. del algoritmo hash de AL.exe que se utilizará al crear los ensamblados satélite. |
Satellite_BaseAddress |
Dirección base que se utilizará al compilar los ensamblados satélite específicos de la referencia cultural mediante el destino CreateSatelliteAssemblies. |
Satellite_CompanyName |
Nombre de la compañía que se pasará a AL.exe durante la generación del ensamblado satélite. |
Satellite_Configuration |
Nombre de la configuración que se pasará a AL.exe durante la generación del ensamblado satélite. |
Satellite_Description |
Texto de descripción que se pasará a AL.exe durante la generación del ensamblado satélite. |
Satellite_EvidenceFile |
Incrusta el archivo especificado en el ensamblado satélite con el nombre de recurso "Security.Evidence". |
Satellite_FileVersion |
Especifica una cadena para el campo File Version del ensamblado satélite. |
Satellite_Flags |
Especifica un valor para el campo Flags del ensamblado satélite. |
Satellite_GenerateFullPaths |
Hace que la tarea de compilación use rutas de acceso absolutas para los archivos indicados en un mensaje de error. |
Satellite_LinkResource |
Vincula los archivos de recursos especificados a un ensamblado satélite. |
Satellite_MainEntryPoint |
Especifica el nombre completo (es decir, class.method) del método que se usará como punto de entrada cuando un módulo se convierte en un archivo ejecutable durante la generación del ensamblado satélite. |
Satellite_ProductName |
Especifica una cadena para el campo Product del ensamblado satélite. |
Satellite_ProductVersion |
Especifica una cadena para el campo ProductVersion del ensamblado satélite. |
Satellite_TargetType |
Especifica el formato del archivo de salida del ensamblado satélite como "library", "exe" o "win". El valor predeterminado es "library". |
Satellite_Title |
Especifica una cadena para el campo Title del ensamblado satélite. |
Satellite_Trademark |
Especifica una cadena para el campo Trademark del ensamblado satélite. |
Satellite_Version |
Especifica la información de versión del ensamblado satélite. |
Satellite_Win32Icon |
Inserta un archivo de icono .ico en el ensamblado satélite. |
Satellite_Win32Resource |
Inserta un archivo de recursos (.res) de Win32 en el ensamblado satélite. |
SubsystemVersion |
Especifica la versión mínima del subsistema que el archivo ejecutable generado puede utilizar. Esta propiedad es equivalente al modificador /subsystemversion del compilador. Para obtener información sobre el valor predeterminado de esta propiedad, vea /subsystemversion (Visual Basic) o /subsystemversion (Opciones del compilador de C#). |
TargetCompactFramework |
Versión de .NET Compact Framework necesaria para ejecutar la aplicación que se está compilando. Puede especificar esta propiedad para hacer referencia a ensamblados de .NET Framework concretos a los que no se pueda hacer referencia de ningún otro modo. |
TargetFrameworkVersion |
Versión de .NET Framework necesaria para ejecutar la aplicación que se está compilando. Puede especificar esta propiedad para hacer referencia a ensamblados de .NET Framework concretos a los que no se pueda hacer referencia de ningún otro modo. |
TreatWarningsAsErrors |
Parámetro booleano que, si es true, hace que todas las advertencias se traten como errores. Este parámetro es equivalente al modificador /nowarn del compilador. |
UseHostCompilerIfAvailable |
Parámetro booleano que, si es true, hace que la tarea de compilación utilice el objeto de compilador en proceso, si está disponible. Solo Visual Studio utiliza este parámetro. |
Utf8Output |
Parámetro booleano que, si es true, registra el resultado del compilador utilizando la codificación UTF-8. Este parámetro es equivalente al modificador /utf8Output del compilador. |
VbcToolPath |
Ruta de acceso opcional que indica otra ubicación para vbc.exe cuando se invalida la versión actual de vbc.exe. |
VbcVerbosity |
Especifica el nivel de detalle de los resultados del compilador de Visual Basic. Los valores válidos son "Quiet", "Normal" (valor predeterminado) o "Verbose". |
VisualStudioVersion |
Especifica la versión de Visual Studio en la que se debe ejecutar este proyecto. Si no se especifica esta propiedad, MSBuild la establece en un valor predeterminado razonable. Esta propiedad se utiliza en varios tipos de proyecto para especificar el conjunto de destinos que se utilizan para la compilación. Si ToolsVersion se establece en 4.0 o superior para un proyecto, se usa VisualStudioVersion para especificar el subconjunto de herramientas que se va a utilizar. Para obtener más información, vea Conjunto de herramientas de MSBuild (ToolsVersion). |
WarningsAsErrors |
Especifica una lista de advertencias que se tratarán como errores. Este parámetro es equivalente al modificador /warnaserror del compilador. |
WarningsNotAsErrors |
Especifica una lista de advertencias que no se tratarán como errores. Este parámetro es equivalente al modificador /warnaserror del compilador. |
Win32Manifest |
Nombre del archivo manifiesto que se debe incrustar en el ensamblado final. Este parámetro es equivalente al modificador /win32Manifest del compilador. |
Win32Resource |
Nombre del archivo del recurso de Win32 que se va a incrustar en el ensamblado final. Este parámetro es equivalente al modificador /win32resource del compilador. |