Compartir vía


ResolveAssemblyReference (tarea)

Determina todos los ensamblados que dependen de los ensamblados especificados, incluyendo el segundo y ndependencias-ésimo orden.

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 se especifica {HintPathFromItem} en el parámetro SearchPaths. 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 es false, funcionará cualquier ensamblado con el mismo nombre simple. Si no se especifica SpecificVersion , la tarea examinará el valor del atributo Include 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 solo resuelve si tiene SpecificVersion establecido en true.
- ExecutableExtension: valor String . Cuando está presente, el ensamblado resuelto debe tener esta extensión. Cuando está ausente, la .dll se considera en primer lugar, seguida del .exe, para cada directorio examinado.
- SubType: valor String . Solo los elementos con metadatos SubType vacíos se resolverán en rutas de acceso de ensamblado completas. Se ignoran los elementos con metadatos SubType no vacíos.
- 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 se ahorra tiempo, ya que no es necesario abrir el archivo de ensamblado 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. Esto invalida la caché habitual, por lo que solo se usa si va a compilar un SDK con muchas referencias y pretende enviar la caché a los clientes.
AssemblyInformationCachePaths Parámetro ITaskItem opcional.

Si no es NULL, usa este conjunto de cachés 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 crear 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 es true, cada reasignación distinta dará lugar a un comentario de alta prioridad que muestre las versiones anteriores y las nuevas y que AutoUnify era true.

Cuando es true, el parámetro AppConfigFile 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 indica que se encontraron conflictos entre diferentes 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 considerarán cuando el parámetro SearchPaths contenga {CandidateAssemblyFiles} como una de las rutas de acceso que hay que 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 hay una referencia en la GAC, no se copia localmente, porque se supone que se encuentra en la GAC del equipo de destino. Esto solo se aplica a una referencia concreta y no a sus dependencias.

Por ejemplo, no se copia localmente una referencia del archivo de proyecto que se encuentra en la GAC, pero sus dependencias se copian localmente porque no se encuentran en la GAC.

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

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

Si la referencia primaria del archivo del proyecto se encuentra 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 se encuentra en la GAC, todas ellas se copiarán 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 copiarán 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 es true, se encontrarán 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 es true, se encontrarán los archivos relacionados, como los archivos .pdb y xml. El valor predeterminado es true.
FindSatellites Parámetro Boolean opcional.

Si es true, se encontrarán los 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 elementos que tengan metadatos "FrameworkDirectory" para asociar una lista redist a un directorio de marco de trabajo concreto. Si no se realiza la asociación, se registrará un error. La lógica de resolución de referencias de ensamblado (RAR) usa el directorio del marco de trabajo 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 es true, la tarea resolverá los ensamblados que tienen como destino una versión de .NET Framework superior al proyecto actual. El valor predeterminado es false, que omitirá 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 metadatos "FrameworkDirectory" para asociar un elemento InstalledAssemblySubsetTable

con un directorio de marco de trabajo concreto.

Si solo hay un elemento TargetFrameworkDirectories , los elementos de esta lista que no tengan los metadatos "FrameworkDirectory" se tratan como si se establecieran 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. Asimismo, los ensamblados que tienen un valor InGAC = 'true' se consideran requisitos previos y se establecen en CopyLocal = 'false', a menos que se reemplacen explícitamente.

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

"Microsoft-Windows-CLRCoreComp".

Si solo hay un elemento TargetFrameworkDirectories , los elementos de esta lista que no tengan los metadatos "FrameworkDirectory" se tratan como si se establecieran 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 la última versión del marco de trabajo instalado en la máquina para un identificador de marco de trabajo de destino dado.
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 los archivos relacionados, como los archivos XML y .pdb que tienen el mismo nombre base como 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 las referencias principales de primer orden, que se encuentran en el parámetro ResolvedFiles .

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 resueltas de SDK que contienen el nombre y la ubicación del SDK, y la configuración de destino. Solo se buscará en estas ubicaciones si la referencia tiene adjuntos los metadatos de SDKName.
SatelliteFiles Parámetro de salida de solo lectura ITaskItem[] opcional.

Especifica los archivos satélite encontrados. Serán CopyLocal=true si la referencia o dependencia que originó este elemento 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}: Especifica que la tarea va a examinar los metadatos HintPath del elemento base.
- {CandidateAssemblyFiles}: Especifica que la tarea va a examinar los archivos que se pasan a través del parámetro CandidateAssemblyFiles.
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>}: especifica que la tarea buscará 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}: Especifica que la tarea va a usar el esquema finding-assemblies-from-registry de Visual Studio.NET 2003.
- {GAC}: Especifica que la tarea va a buscar 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 encontrados que no dispongan de una entrada bindingRedirect apropiada en el archivo de configuración de la aplicación.

Cada elemento contiene opcionalmente la siguiente información:

- Atributo Include: Contiene el nombre completo de la familia de ensamblados con un valor de 0.0.0.0 para el campo de versión
- 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 CopyLocal de los elementos resultantes.

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

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

Nombre para mostrar de TargetFrameworkMoniker que se va a supervisar, si existe. 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 el marco de trabajo 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 una discrepancia entre la arquitectura del procesador de destino y la arquitectura de una referencia principal, cuando es Error, se registra un error; cuando es Warning, se registra una advertencia y cuando es 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