Compartir a través de


Elementos comunes del proyecto de MSBuild

En MSBuild, un elemento es una referencia con nombre a uno o varios archivos. Los elementos contienen metadatos como nombres de archivo, rutas de acceso y números de versión. Todos los tipos de proyecto de Visual Studio tienen varios elementos en común. Estos elementos se definen en el archivo Microsoft.Build.CommonTypes.xsd.

En este artículo se enumeran todos los elementos comunes del proyecto.

Reference

Representa una referencia de ensamblado (administrado) en el proyecto.

Nombre de metadatos del elemento Descripción
HintPath Cadena opcional. Ruta de acceso relativa o absoluta del ensamblado.
Nombre Cadena opcional. Nombre para mostrar del ensamblado, por ejemplo, "System.Windows.Forms".
FusionName Cadena opcional. Especifica el nombre de fusión simple o fuerte para el elemento.

Cuando este atributo está presente, puede ahorrar tiempo porque el archivo de ensamblado no tiene que abrirse para obtener el nombre de fusión.
SpecificVersion Boolean opcional. Especifica si solo se debe hacer referencia a la versión del nombre de fusión.
Alias Cadena opcional. Cualquier alias de la referencia.
Privado Boolean opcional. Especifica si la referencia se debe copiar en la carpeta de salida. Este atributo coincide con la propiedad Copy Local de la referencia que se encuentra en el IDE de Visual Studio.

COMReference

Representa una referencia de componente COM (no administrado) en el proyecto. Este elemento solo se aplica a proyectos de .NET.

Nombre de metadatos del elemento Descripción
Nombre Cadena opcional. Nombre para mostrar del componente.
Guid Cadena necesaria. GUID del componente, con el formato {12345678-1234-1234-1234-123456781234}.
VersionMajor Cadena necesaria. La parte principal del número de versión del componente. Por ejemplo, "5" si el número de versión completo es "5.46".
VersionMinor Cadena necesaria. Parte secundaria del número de versión del componente. Por ejemplo, "46" si el número de versión completo es "5.46".
EmbedInteropTypes Boolean opcional. Si es true, inserte los tipos de interoperabilidad de esta referencia directamente en el ensamblado en lugar de generar un archivo DLL de interoperabilidad.
Lcid Cadena opcional. LocaleID del componente.
WrapperTool Cadena opcional. Nombre de la herramienta contenedora que se usa en el componente. Los valores son:

1. principal
2. tlbimp
3. primaryortlbimp
4. aximp
Aislado Boolean opcional. Especifica si el componente es un componente sin reg.

COMFileReference

Representa una lista de bibliotecas de tipos que se pasan al parámetro TypeLibFiles del destino de ResolveComReference. Este elemento solo se aplica a proyectos de .NET.

Nombre de metadatos del elemento Descripción
WrapperTool Cadena opcional. Nombre de la herramienta contenedora que se usa en el componente. Los valores son:

1. principal
2. tlbimp
3. primaryortlbimp
4. aximp

NativeReference

Representa un archivo de manifiesto nativo o una referencia a este archivo.

Nombre de metadatos del elemento Descripción
Nombre Cadena necesaria. Nombre base del archivo de manifiesto.
HintPath Cadena necesaria. Ruta de acceso relativa del archivo de manifiesto.

ProjectReference

Representa una referencia a otro proyecto. ProjectReference elementos se transforman en elementos Referencia por el destino de ResolveProjectReferences, por lo que los metadatos válidos de una referencia pueden ser válidos en ProjectReference, si el proceso de transformación no lo sobrescribe.

Nombre de metadatos del elemento Descripción
Nombre Cadena opcional. Nombre para mostrar de la referencia.
GlobalPropertiesToRemove Opcional string[]. Nombres de propiedades que se van a quitar al compilar el proyecto al que se hace referencia, por ejemplo, RuntimeIdentifier;PackOnBuild. El valor predeterminado es vacío.
Proyecto Cadena opcional. GUID de la referencia, con el formato {12345678-1234-1234-1234-123456781234}.
OutputItemType Cadena opcional. Tipo de elemento en el que se van a emitir salidas de destino. El valor predeterminado está en blanco. Si los metadatos de referencia se establecen en "true" (valor predeterminado), las salidas de destino se convierten en referencias para el compilador.
ReferenceOutputAssembly Boolean opcional. Si se establece en false, no incluye la salida del proyecto al que se hace referencia como Referencia de este proyecto, pero garantiza que el otro proyecto se compile antes de este. El valor predeterminado es true.
Privado Boolean opcional. Especifica si la referencia se debe copiar en la carpeta de salida. Este atributo coincide con la propiedad Copy Local de la referencia que se encuentra en el IDE de Visual Studio.
SetConfiguration Cadena opcional. Establece la propiedad global Configuration para el proyecto al que se hace referencia, por ejemplo, Configuration=Release.
SetPlatform Cadena opcional. Establece la propiedad global Platform para el proyecto al que se hace referencia, por ejemplo, Platform=AnyCPU.
SetTargetFramework Cadena opcional. Establece la propiedad global TargetFramework para el proyecto al que se hace referencia, por ejemplo, TargetFramework=netstandard2.0.
SkipGetTargetFrameworkProperties Boolean opcional. Si true, compila el proyecto al que se hace referencia sin negociar el valor de TargetFramework más compatible. El valor predeterminado es false.
Objetivos Opcional string[]. Lista separada por punto y coma de destinos en los proyectos a los que se hace referencia que se deben compilar. Default es el valor de $(ProjectReferenceBuildTargets), que tiene como valor predeterminado vacío, lo que indica los destinos predeterminados. Al compilar en Visual Studio (en lugar de MSBuild.exe o dotnet build), especificar esto no impide que Visual Studio compile los destinos predeterminados del proyecto al que se hace referencia.

Nota

Hay una diferencia entre el funcionamiento de las referencias de proyecto entre .NET Framework y .NET Core (incluido .NET 5 y versiones posteriores). En los proyectos de .NET Framework, las referencias de proyecto no son transitivas. Es decir, si Project1 hace referencia a Project2 y Project2 hace referencia a Project3, no se puede codificar en Project3 desde Project1. Sin embargo, en .NET Core (incluido .NET 5 y versiones posteriores), las referencias de proyecto se transitiva. Puede codificar en Project3 en Project1.

Compilar

Representa los archivos de origen del compilador.

Nombre de metadatos del elemento Descripción
DependentUpon Cadena opcional. Especifica que el archivo de este archivo depende de que se compile correctamente.
AutoGen Boolean opcional. Indica si el entorno de desarrollo integrado (IDE) de Visual Studio generó el archivo para el proyecto.
Enlace Cadena opcional. Ruta de acceso notational que se mostrará cuando el archivo se encuentra físicamente fuera de la influencia del archivo del proyecto.
Visible Boolean opcional. Indica si se va a mostrar el archivo en explorador de soluciones en Visual Studio.
CopyToOutputDirectory Cadena opcional. Determina si se va a copiar el archivo en el directorio de salida. Los valores son:

1. Nunca
2. Siempre
3. ConservarNuevo más
4. IfDifferent

EmbeddedResource

Representa los recursos que se van a incrustar en el ensamblado generado.

Nombre de metadatos del elemento Descripción
Cultura Cadena opcional. Especifica la referencia cultural del archivo de recursos. Si se especifica, el proceso de compilación no deduce automáticamente la referencia cultural basada en la extensión de archivo (que depende de las referencias culturales disponibles para .NET/OS en el equipo que hospeda la compilación). Se recomienda encarecidamente establecer Culture={culture identifier} o WithCulture=false metadatos.
WithCulture Bool opcional. Especifica que el archivo es independiente de la referencia cultural y la detección de referencia cultural por AssignCulture tarea debe omitirse. Se recomienda encarecidamente establecer Culture={culture identifier} o WithCulture=false metadatos.
DependentUpon Cadena opcional. Especifica que el archivo de este archivo depende de que se compile correctamente.
Generador Cadena opcional. Nombre de cualquier generador de archivos que se ejecute en este elemento.
LastGenOutput Cadena opcional. Nombre del archivo creado por cualquier generador de archivos que se ejecutó en este elemento.
CustomToolNamespace Cadena opcional. Espacio de nombres en el que cualquier generador de archivos que se ejecute en este elemento debe crear código.
Enlace Cadena opcional. La ruta de acceso notational se muestra si el archivo se encuentra físicamente fuera de la influencia del proyecto.
Visible Boolean opcional. Indica si se va a mostrar el archivo en explorador de soluciones en Visual Studio.
CopyToOutputDirectory Cadena opcional. Determina si se va a copiar el archivo en el directorio de salida. Los valores son:

1. Nunca
2. Siempre
3. ConservarNuevo más
4. IfDifferent
LogicalName Cadena necesaria. Nombre lógico del recurso incrustado.

Contenido

Representa los archivos que no se compilan en el proyecto, pero que se pueden incrustar o publicar junto con él.

Nombre de metadatos del elemento Descripción
DependentUpon Cadena opcional. Especifica que el archivo de este archivo depende de que se compile correctamente.
Generador Cadena opcional. Nombre de cualquier generador de archivos que se ejecute en este elemento.
LastGenOutput Cadena opcional. Nombre del archivo creado por cualquier generador de archivos que se ejecutó en este elemento.
CustomToolNamespace Cadena opcional. Espacio de nombres en el que cualquier generador de archivos que se ejecute en este elemento debe crear código.
Enlace Cadena opcional. Ruta de acceso notational que se mostrará si el archivo se encuentra físicamente fuera de la influencia del proyecto.
PublishState Cadena necesaria. Estado de publicación del contenido, ya sea:

-Predeterminado
-Incluido
-Excluidos
- DataFile
-Prerrequisito
IsAssembly Boolean opcional. Especifica si el archivo es un ensamblado.
Visible Boolean opcional. Indica si se va a mostrar el archivo en explorador de soluciones en Visual Studio.
CopyToOutputDirectory Cadena opcional. Determina si se va a copiar el archivo en el directorio de salida. Los valores son:

1. Nunca
2. Siempre
3. ConservarNuevo más
4. IfDifferent
TargetPath Cadena opcional. Ruta de acceso de salida (relativa al directorio de salida específico de la configuración o plataforma) de un elemento, incluido el nombre de archivo. Esto respeta los metadatos de Link, si se proporcionan. Si no se proporciona TargetPath, se calcula durante el proceso de compilación. Consulte AssignTargetPath.

Ninguno

Representa los archivos que no deben tener ningún rol en el proceso de compilación.

Nombre de metadatos del elemento Descripción
DependentUpon Cadena opcional. Especifica que el archivo de este archivo depende de que se compile correctamente.
Generador Cadena opcional. Nombre de cualquier generador de archivos que se ejecute en este elemento.
LastGenOutput Cadena opcional. Nombre del archivo creado por cualquier generador de archivos que se ejecutó en este elemento.
CustomToolNamespace Cadena opcional. Espacio de nombres en el que cualquier generador de archivos que se ejecute en este elemento debe crear código.
Enlace Cadena opcional. Ruta de acceso notational que se mostrará si el archivo se encuentra físicamente fuera de la influencia del proyecto.
Visible Boolean opcional. Indica si se va a mostrar el archivo en explorador de soluciones en Visual Studio.
CopyToOutputDirectory Cadena opcional. Determina si se va a copiar el archivo en el directorio de salida. Los valores son:

1. Nunca
2. Siempre
3. ConservarNuevo más
4. IfDifferent

AssemblyMetadata

Representa los atributos de ensamblado que se van a generar como [AssemblyMetadata(key, value)].

Nombre de metadatos del elemento Descripción
Incluír Se convierte en el primer parámetro (la clave) del constructor de atributos AssemblyMetadataAttribute.
Valor Cadena necesaria. Se convierte en el segundo parámetro (el valor) del constructor de atributos AssemblyMetadataAttribute.

Nota

Este elemento se aplica a los proyectos que usan el SDK para .NET 5 (y .NET Core) y versiones posteriores.

InternalsVisibleTo

Especifica los ensamblados que se van a emitir como atributos de ensamblado [InternalsVisibleTo(..)].

Nombre de metadatos del elemento Descripción
Incluír Nombre del ensamblado.
Llave Cadena opcional. Clave pública del ensamblado.

Nota

Este elemento se aplica a los proyectos que usan el SDK para .NET 5 (y .NET Core) y versiones posteriores.

BaseApplicationManifest

Representa el manifiesto de aplicación base para la compilación y contiene información de seguridad de implementación clickOnce.

CodeAnalysisImport

Representa el proyecto FxCop que se va a importar.

Importación

Representa ensamblados cuyos espacios de nombres deben importar el compilador de Visual Basic.

Carpeta

Visual Studio solo usa este elemento como marcador de posición para una carpeta vacía. Cuando se rellena la carpeta, se reemplaza por otro elemento.

Consulte también