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.