Compartir a través de


ResolveAssemblyReference (tarea)

Determina todos los ensamblados que dependen de los ensamblados especificados, incluyendo el segundo y ndependencias-ésimo orden. Consulte también Solución de errores de compilación con referencias de ensamblado.

Parámetros

En la siguiente tabla se describen los parámetros de la tarea ResolveAssemblyReference .

Parámetro Descripción
AllowedAssemblyExtensions Parámetro String[] opcional.

Las extensiones de nombre de archivo de ensamblado que se usarán al resolver referencias. Las extensiones de nombre de archivo predeterminadas son exe y dll.
AllowedRelatedFileExtensions Parámetro String[] opcional.

Las extensiones de nombre de archivo que se usarán para buscar archivos relacionados entre sí. Las extensiones predeterminadas son pdb y xml.
AppConfigFile Parámetro String opcional.

Especifica un archivo app.config del que se analizarán y extraerán asignaciones de bindingRedirect. Si se especifica este parámetro, el parámetro AutoUnify debe ser false.
Assemblies Parámetro ITaskItem[] opcional.

Especifica los elementos para los que se deben identificar las dependencias y las rutas de acceso completas. Estos elementos pueden tener nombres sencillos como "System" o nombres seguros como "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

Los elementos pasados a este parámetro podrían tener opcionalmente los siguientes metadatos de elemento:

- Private: valor Boolean . Si es true, el elemento se copia localmente. El valor predeterminado es true.
- HintPath: valor String . Especifica el nombre y la ruta de acceso que se usarán como referencia. Estos metadatos se usan cuando {HintPathFromItem} se especifican en el SearchPaths parámetro . El valor predeterminado es una cadena vacía.
- SpecificVersion: valor Boolean . Si es true, debe coincidir el nombre exacto especificado en el atributo Include . Si falsees , cualquier ensamblado con el mismo nombre simple funciona. Si SpecificVersion no se especifica, la tarea examina el valor en el Include atributo del elemento. Si el atributo es un nombre sencillo, se comporta como si SpecificVersion era false. Si el atributo es un nombre seguro, se comporta como si SpecificVersion era true.
Cuando se usa con un tipo de elemento de referencia, el atributo Include debe ser el nombre de fusión completo del ensamblado que se va a resolver. El ensamblado solo se resuelve si la fusión coincide exactamente con el atributo Include .
Cuando un proyecto tiene como destino una versión de .NET Framework y hace referencia a un ensamblado compilado para una versión posterior de .NET Framework, la referencia solo resuelve si tiene SpecificVersion establecido en true.
Cuando un proyecto tiene como destino un perfil y hace referencia a un ensamblado que no está en el perfil, la referencia se resuelve solo si se ha SpecificVersion establecido trueen .
- ExecutableExtension: valor String . Cuando está presente, el ensamblado resuelto debe tener esta extensión. Cuando está ausente, dll se considera primero, seguido de .exe, para cada directorio examinado.
- SubType: valor String . Solo los elementos con metadatos vacíos SubType se resuelven en rutas de acceso de ensamblado completas. Los elementos con metadatos no vacíos SubType se omiten.
- AssemblyFolderKey: valor String . Estos metadatos se admiten para fines de herencia. Especifica una clave del Registro definida por el usuario, como hklm\<VendorFolder>, que Assemblies debe usar para resolver las referencias de ensamblado.
AssemblyFiles Parámetro ITaskItem[] opcional.

Especifica una lista de ensamblados completa para los que se buscarán dependencias.

Los elementos pasados a este parámetro podrían tener opcionalmente los siguientes metadatos de elemento:

- Private: valor Boolean opcional. Si es true, el elemento se copia localmente.
- FusionName: metadatos String opcionales. Especifica el nombre sencillo o seguro de este elemento. Si este atributo está presente, puede ahorrar tiempo porque el archivo de ensamblado no tiene que abrirse para obtener el nombre.
AssemblyInformationCacheOutputPath Parámetro String opcional.

Si no es NULL, serializa información independiente de la máquina sobre las entradas AssemblyFiles en el archivo con nombre. Esta configuración invalida la memoria caché habitual, por lo que solo usa esta configuración si va a compilar un SDK con muchas referencias y pretende enviar la memoria caché a los clientes.
AssemblyInformationCachePaths Parámetro ITaskItem opcional.

Si no es null, usa este conjunto de memorias caché como entradas si MSBuild no encuentra la caché habitual en la carpeta obj. Normalmente lo proporciona un SDK para mejorar el rendimiento de la primera compilación.
AutoUnify Parámetro Boolean opcional.

Este parámetro se usa para compilar ensamblados, como archivos DLL, que no pueden tener un archivo App.Config normal.

Si es true, el gráfico de dependencias resultante se trata automáticamente como si hubiera un archivo App.Config que se pasa al parámetro AppConfigFile. Este archivo App.Config virtual tiene una entrada bindingRedirect para cada conjunto de ensamblados en conflicto de manera que se elige el ensamblado de la versión superior. Una consecuencia de esto es que nunca habrá una advertencia sobre los ensamblados en conflicto porque todos los conflictos se habrán resuelto.

Cuando true, cada reasignación distinta da como resultado un comentario de prioridad alta que muestra las versiones antiguas y nuevas y que AutoUnify era true.

Cuando true, el AppConfigFile parámetro debe estar vacío.

Cuando es false, no se producirá automáticamente ninguna reasignación de versiones de ensamblado. Cuando haya dos versiones de un ensamblado, se emitirá una advertencia.

Cuando es false, cada conflicto distinto entre versiones diferentes del mismo ensamblado da como resultado un comentario de alta prioridad. Estos comentarios van seguidos de una única advertencia. La advertencia tiene un código de error único y contiene texto que lee "Se encontraron conflictos entre distintas versiones de referencia y ensamblados dependientes".

El valor predeterminado es false.
CandidateAssemblyFiles Parámetro String[] opcional.

Especifica una lista de ensamblados que se usará para el proceso de búsqueda y resolución. Los valores pasados a este parámetro deben ser nombres de archivo absolutos o nombres de archivo relativos al proyecto.

Los ensamblados de esta lista se consideran cuando el SearchPaths parámetro contiene {CandidateAssemblyFiles} como una de las rutas de acceso que se deben tener en cuenta.
CopyLocalDependenciesWhenParentReferenceInGac Parámetro Boolean opcional.

Si es true, para determinar si una dependencia se debe copiar localmente, una de las comprobaciones realizadas es ver si la referencia primaria del archivo de proyecto tiene establecidos los metadatos privados. Si es así, el valor Private se usará como dependencia.

Si no se establecen los metadatos, la dependencia pasa por las mismas comprobaciones que la referencia primaria. Una de estas comprobaciones consiste en ver si la referencia está en la GAC. Si una referencia está en la GAC, no se copia localmente, ya que se supone que está en la GAC en la máquina de destino. Esto solo se aplica a una referencia concreta y no a sus dependencias.

Por ejemplo, una referencia en el archivo de proyecto que se encuentra en la GAC no se copia localmente, pero sus dependencias se copian localmente porque no están en la GAC.

Si es false, se comprueban las referencias de archivo de proyecto para ver si están en la GAC y se copian localmente según corresponda.

Las dependencias se comprueban para ver si están en la GAC y también se comprueban para ver si la referencia primaria del archivo del proyecto está en la GAC.

Si la referencia primaria del archivo del proyecto está en la GAC, la dependencia no se copia localmente.

Si este parámetro es true o false, si hay varias referencias primarias y alguna de ellas no está en la GAC, todas se copian localmente.
CopyLocalFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Devuelve todos los archivos de los parámetros ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFilesy ScatterFiles que tienen metadatos de elementos CopyLocal con un valor de true.
DependsOnNETStandard Parámetro de salida Boolean.

Si alguna de las referencias principales resueltas depende de .NET Standard.
DependsOnSystemRuntime Parámetro de salida Boolean.

Si alguna de las referencias principales resueltas depende de System.Runtime.
DoNotCopyLocalIfInGac Parámetro Boolean opcional.

Habilita el modo heredado para la determinación de CopyLocal. Si es true, los ensamblados a los que se hace referencia no se copiarán localmente si se encuentran en la GAC. Si es false, los ensamblados se copian localmente a menos que solo se encuentren en la GAC. El valor predeterminado es false.
FilesWritten Parámetro de salida ITaskItem[] opcional.

Contiene los elementos escritos en el disco.
FindDependencies Parámetro Boolean opcional.

Si truees , se encuentran las dependencias. De lo contrario, solo se encuentran referencias principales. El valor predeterminado es true.
FindDependenciesOfExternallyResolvedReferences Parámetro Boolean opcional.

Fuerce el recorrido por las dependencias incluso cuando una referencia esté marcada con metadatos ExternallyResolved=true.
FindRelatedFiles Parámetro Boolean opcional.

Si truees , se encuentran archivos relacionados, como pdb archivos y xml archivos. El valor predeterminado es true.
FindSatellites Parámetro Boolean opcional.

Si truees , se encuentran ensamblados satélite. El valor predeterminado es true.
FindSerializationAssemblies Parámetro Boolean opcional.

Si es true, la tarea busca los ensamblados de serialización. El valor predeterminado es true.
FullFrameworkAssemblyTables Parámetro ITaskItem[] opcional.

Especifica los elementos que tienen FrameworkDirectory metadatos para asociar una lista redist a un directorio de marco determinado. Si no se realiza la asociación, se registra un error. La lógica de referencia de ensamblado de resolución (RAR) usa el directorio de la plataforma de destino si no se establece .FrameworkDirectory
FullFrameworkFolders Parámetro System.String[] opcional.

Especifica las carpetas que contienen un directorio RedistList. Este directorio representa el marco de trabajo completo para un perfil de cliente determinado, por ejemplo, %programfiles%\reference assemblies\microsoft\framework\v4.0.
FullTargetFrameworkSubsetNames Parámetro String[] opcional.

Contiene una lista de nombres del subconjunto de marco de trabajo de destino. Si un nombre del subconjunto de la lista coincide con uno de la propiedad de nombre TargetFrameworkSubset , el sistema excluye ese subconjunto de marco de trabajo de destino en tiempo de compilación.
IgnoreDefaultInstalledAssemblyTables Parámetro Boolean opcional.

Si es true, la tarea busca y usa las tablas de ensamblados instalados adicionales (o "Listas Redist") que se encuentran en el directorio \RedistList en TargetFrameworkDirectories. El valor predeterminado es false.
IgnoreDefaultInstalledAssemblySubsetTables Parámetro Boolean opcional.

Si es true, la tarea busca y usa tablas de subconjuntos de ensamblados instalados adicionales (o "Listas de subconjuntos") que se encuentran en el directorio \SubsetList en TargetFrameworkDirectories. El valor predeterminado es false.
IgnoreTargetFrameworkAttributeVersionMismatch Parámetro Boolean opcional.

Si truees , la tarea resuelve los ensamblados que tienen como destino una versión superior de .NET Framework que el proyecto actual. El valor predeterminado es false, que omite esas referencias.
IgnoreVersionForFrameworkReferences Parámetro Boolean opcional.

Si la referencia principal es un ensamblado de marco, se omite su información de versión y se resuelve el ensamblado de marco del marco de destino actual.
InstalledAssemblySubsetTables Parámetro ITaskItem[] opcional.

Contiene una lista de archivos XML que especifican los ensamblados que se espera que se encuentren en el subconjunto de destino.

Como opción, los elementos de esta lista pueden especificar los FrameworkDirectory metadatos que se van a asociar a InstalledAssemblySubsetTable

con un directorio de marco de trabajo concreto.

Si solo hay un TargetFrameworkDirectories elemento, los elementos de esta lista que carecen de los FrameworkDirectory" metadatos se tratan como si estuvieran establecidos en el valor único que se pasa a TargetFrameworkDirectories.
InstalledAssemblyTables Parámetro String opcional.

Contiene una lista de archivos XML que especifican los ensamblados que se espera que estén instalados en el equipo de destino.

Cuando se establece InstalledAssemblyTables , las versiones anteriores de los ensamblados de la lista se combinan en las versiones más recientes que se enumeran en el XML. Además, los ensamblados que tienen una configuración de InGAC='true' se consideran requisitos previos y se establecen en a CopyLocal='false' menos que se invaliden explícitamente.

Como opción, los elementos de esta lista pueden especificar FrameworkDirectory metadatos para asociar un InstalledAssemblyTable con un directorio de marco determinado. Sin embargo, se ignora esta configuración a menos que el nombre de Redist comience por

Microsoft-Windows-CLRCoreComp.

Si solo hay un TargetFrameworkDirectories elemento, los elementos de esta lista que carecen de los FrameworkDirectory metadatos se tratan como si estuvieran establecidos en el valor único que se pasa.

a TargetFrameworkDirectories.
LatestTargetFrameworkDirectories Parámetro String[] opcional.

Especifica una lista de directorios que contienen las listas redist del marco de trabajo más actual que se puede usar como destino en la máquina. Si no se establece, se usa el marco más alto instalado en la máquina para un identificador de marco de destino determinado.
OutputUnresolvedAssemblyConflicts Parámetro Boolean opcional.

Si es true, genera algún conflicto de ensamblado sin resolver con el código de diagnóstico MSB3277 en la salida UnresolveAssemblyConflicts.
ProfileName Parámetro String opcional.

Especifica el nombre del perfil del marco de trabajo que se va a tener como destino. Por ejemplo, Client, Web o Network. Solo es relevante para los perfiles de .NET Framework.
RelatedFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Contiene archivos relacionados, como XML y pdb archivos que tienen el mismo nombre base que una referencia.

Los archivos mostrados en este parámetro pueden contener opcionalmente los siguientes metadatos de elemento:

- Primary: valor Boolean . Si es true, el elemento de archivo se pasó a la matriz con el parámetro Assemblies opcional. El valor predeterminado es false.
- CopyLocal: valor Boolean . Indica si la referencia proporcionada se debe copiar en el directorio de salida.
ResolvedDependencyFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Contiene el nrutas de acceso de ésimo orden a las dependencias. Este parámetro no incluye referencias principales de primer orden, que se encuentran en el ResolvedFiles parámetro .

Los elementos de este parámetro opcionalmente contienen los siguientes metadatos de elementos:

- CopyLocal: valor Boolean . Indica si la referencia proporcionada se debe copiar en el directorio de salida.
- FusionName: valor String . Especifica el nombre de esta dependencia.
- ResolvedFrom: valor String . Especifica la ruta de acceso de búsqueda literal desde la que se ha resuelto este archivo.
ResolvedFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Contiene una lista de todas las referencias principales que se resuelven en rutas de acceso completas.

Los elementos de este parámetro opcionalmente contienen los siguientes metadatos de elementos:

- CopyLocal: valor Boolean . Indica si la referencia proporcionada se debe copiar en el directorio de salida.
- FusionName: valor String . Especifica el nombre de esta dependencia.
- ResolvedFrom: valor String . Especifica la ruta de acceso de búsqueda literal desde la que se ha resuelto este archivo.
ResolvedSDKReferences Parámetro ITaskItem[] opcional.

Lista de referencias de SDK resueltas, que contienen el nombre del SDK, la ubicación del SDK y la configuración de destino. Estas ubicaciones solo se buscan si la referencia tiene los SDKName metadatos adjuntos.
SatelliteFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Especifica los archivos satélite encontrados. Estos archivos son CopyLocal=true si la referencia o dependencia que provocó que este elemento exista es CopyLocal=true.

Los elementos de este parámetro opcionalmente contienen los siguientes metadatos de elementos:

- CopyLocal: valor Boolean . Indica si la referencia proporcionada se debe copiar en el directorio de salida. Este valor es true si la referencia o dependencia que originó este elemento tiene un valor CopyLocal de true.
- DestinationSubDirectory: valor String . Especifica el directorio de destino relativo en el que se copiará este elemento.
ScatterFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Contiene los archivos de dispersión asociados a uno de los ensamblados dados.

Los elementos de este parámetro opcionalmente contienen los siguientes metadatos de elementos:

- CopyLocal: valor Boolean . Indica si la referencia proporcionada se debe copiar en el directorio de salida.
SearchPaths Parámetro String[] requerido.

Especifica los directorios o las ubicaciones especiales donde buscarán los archivos en disco que representan los ensamblados. Es importante el orden en que se muestran las rutas de búsqueda. Para cada ensamblado, se busca la lista de rutas de izquierda a derecha. Cuando se encuentra un archivo que representa el ensamblado, esa búsqueda se detiene y se inicia la búsqueda del siguiente ensamblado.

Este parámetro acepta una lista separada por caracteres de punto y coma de valores que pueden ser rutas de directorio o valores literales especiales de la lista siguiente:

- {HintPathFromItem}: indica a la tarea que examine los HintPath metadatos del elemento base.
- {CandidateAssemblyFiles}: indica a la tarea que examine los archivos pasados a través del CandidateAssemblyFiles parámetro .
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>}: indica a la tarea que busque en carpetas adicionales especificadas en el registro. <AssemblyFoldersBase>, <RuntimeVersion> y <AssemblyFoldersSuffix> se deben reemplazar por valores específicos de la ubicación del Registro en la que se va a buscar. La especificación predeterminada en los destinos comunes es {Registry:$(FrameworkRegistryBase), $(TargetFrameworkVersion), $(AssemblyFoldersSuffix), $(AssemblyFoldersExConditions)}.
- {AssemblyFolders}: indica a la tarea que use el esquema finding-from-registry de Visual Studio.NET 2003.
- {GAC}: indica a la tarea que busque en la caché global de ensamblados (GAC).
- {RawFileName}: Especifica que la tarea va a considerar que el valor Include del elemento es un nombre de archivo y una ruta exactos.
SerializationAssemblyFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Contiene los ensamblados de serialización XML encontrados. Estos elementos se marcan como CopyLocal=true únicamente si la referencia o dependencia que originó este elemento es CopyLocal=true.

CopyLocal de los metadatos Boolean indican si la referencia proporcionada se debe copiar en el directorio de salida.
Silent Parámetro Boolean opcional.

Si es true, no se registra ningún mensaje. El valor predeterminado es false.
StateFile Parámetro String opcional.

Especifica un nombre de archivo que indica dónde debe guardarse el estado de compilación intermedio de esta tarea.
SuggestedRedirects Parámetro de salida de solo lectura ITaskItem[] opcional.

Contiene un elemento para cada una de las distintas identidades de ensamblado en conflicto, independientemente del valor del parámetro AutoUnify . Esto incluye todas las referencias culturales y PKT que se encontraron que no tenían una entrada adecuada bindingRedirect en el archivo de configuración de la aplicación.

Cada elemento contiene opcionalmente la siguiente información:

- Include atributo: contiene el nombre completo de la familia de ensamblados con un valor de campo Version de 0.0.0.0
- Metadatos de elementos MaxVersion: Contiene el número máximo de versión.
SupportsBindingRedirectGeneration Parámetro Boolean opcional.

Establézcalo en true en los proyectos compatibles para generar redireccionamientos de enlace automáticamente (actualmente solo es compatible con proyectos EXE).
TargetedRuntimeVersion Parámetro String opcional.

Especifica la versión de tiempo de ejecución para el destino, por ejemplo, 2.0.57027 o v2.0.57027.
TargetFrameworkDirectories Parámetro String[] opcional.

Especifica la ruta de acceso del directorio del marco de trabajo de destino. Este parámetro es necesario para determinar el estado de los CopyLocal elementos resultantes.

Si no se especifica este parámetro, ningún elemento resultante tendrá un CopyLocal valor de true a menos que tengan explícitamente un Private valor de metadatos de en su elemento de true origen.
TargetFrameworkMoniker Parámetro String opcional.

que TargetFrameworkMoniker se va a supervisar, si existe. Este parámetro se usa para el registro.
TargetFrameworkMonikerDisplayName Parámetro String opcional.

Nombre para mostrar de TargetFrameworkMoniker que se va a supervisar, si existe. Este parámetro se usa para el registro.
TargetFrameworkSubsets Parámetro String[] opcional.

Contiene una lista de los nombres del subconjunto del marco de trabajo de destino que se buscarán en los directorios de marco de trabajo de destino.
TargetFrameworkVersion Parámetro String opcional.

Versión del marco de trabajo de destino del proyecto. El valor predeterminado está vacío, lo que significa que no hay ningún filtrado para las referencias basadas en la plataforma de destino.
TargetProcessorArchitecture Parámetro String opcional.

Arquitectura del procesador de destino preferida. Se usa para resolver referencias de la caché global de ensamblados (GAC).

Este parámetro puede tener un valor de x86, IA64 o AMD64.

Si falta este parámetro, la tarea tiene en cuenta primero los ensamblados que coinciden con la arquitectura del proceso que se está ejecutando actualmente. Si no se encuentra ningún ensamblado, la tarea considera los ensamblados de la GAC que tienen el valor ProcessorArchitecture de MSIL o ningún valor ProcessorArchitecture .
UnresolvedAssemblyConflicts Parámetro de salida de solo lectura ITaskItem[] opcional.

Si el parámetro OutputUnresolvedAssemblyConflicts es true, se establece en una lista de información sobre conflictos sin resolver que normalmente se habrían generado en MSB3277. De lo contrario, se queda en blanco.
UnresolveFrameworkAssembliesFromHigherFrameworks Parámetro Boolean opcional.

Si se establece en true, obliga a los ensamblados del marco con versiones posteriores o iguales a la versión del marco de destino a un estado sin resolver.
WarnOrErrorOnTargetArchitectureMismatch Parámetro String opcional.

Si hay un error de coincidencia entre la arquitectura del procesador de destino y la arquitectura de una referencia principal, cuando se Errorregistra , se registra un error; cuando Warning, se registra una advertencia; cuando None, no se registra ningún error o advertencia. Tiene como valor predeterminado Warning.

Advertencias

Se registran las siguientes advertencias:

  • ResolveAssemblyReference.TurnOnAutoGenerateBindingRedirects

  • ResolveAssemblyReference.SuggestedRedirects

  • ResolveAssemblyReference.FoundConflicts

  • ResolveAssemblyReference.AssemblyFoldersExSearchLocations

  • ResolveAssemblyReference.UnifiedPrimaryReference

  • ResolveAssemblyReference.PrimaryReference

  • ResolveAssemblyReference.UnifiedDependency

  • ResolveAssemblyReference.UnificationByAutoUnify

  • ResolveAssemblyReference.UnificationByAppConfig

  • ResolveAssemblyReference.UnificationByFrameworkRetarget

Comentarios

Además de los parámetros mencionados anteriormente, esta tarea hereda los parámetros de la clase TaskExtension, que a su vez hereda de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, consulte TaskExtension base class.

Vea también