Partager via


ResolveAssemblyReference (tâche)

Détermine tous les assemblys qui dépendent des assemblys spécifiés, y compris les deuxièmes et énièmes dépendances. Consultez également Résoudre les erreurs de génération avec des références d’assembly.

Paramètres

Le tableau ci-dessous décrit les paramètres de la tâche ResolveAssemblyReference .

Paramètre Description
AllowedAssemblyExtensions Paramètre String[] facultatif.

Extensions de noms de fichiers d’assemblys à utiliser lors de la résolution des références. Les extensions de nom de fichier par défaut sont exe et dll.
AllowedRelatedFileExtensions Paramètre String[] facultatif.

Extensions de nom de fichier à utiliser pour une recherche de fichiers associés entre eux. Les extensions par défaut sont pdb et xml.
AppConfigFile Paramètre String facultatif.

Spécifie un fichier app.config permettant d’analyser et d’extraire des mappages bindingRedirect. Si vous spécifiez ce paramètre, le paramètre AutoUnify doit être false.
Assemblies Paramètre ITaskItem[] facultatif.

Spécifie les éléments pour lesquels des dépendances et des chemins complets doivent être identifiés. Ces éléments peuvent avoir des noms simples comme « System » ou des noms forts comme « System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ».

Les éléments passés à ce paramètre peuvent éventuellement inclure les métadonnées d’éléments suivantes :

- Private: valeur Boolean . Si true, l’élément est copié localement. La valeur par défaut est true.
- HintPath: valeur String . Spécifie le chemin et le nom de fichier à utiliser comme référence. Ces métadonnées sont utilisées quand {HintPathFromItem} elles sont spécifiées dans le SearchPaths paramètre. La valeur par défaut est une chaîne vide.
- SpecificVersion: valeur Boolean . Si true, le nom exact spécifié dans l’attribut Include doit correspondre. Si false, un assembly portant le même nom simple fonctionne. Si SpecificVersion elle n’est pas spécifiée, la tâche examine la valeur dans l’attribut Include de l’élément. Si l’attribut est un nom simple, il se comporte comme si SpecificVersion était false. Si l’attribut est un nom fort, il se comporte comme si SpecificVersion était true.
En cas d’utilisation avec un type d’élément de référence, l’attribut Include doit être le nom de fusion complet de l’assembly à résoudre. L’assembly est résolu uniquement si la fusion correspond exactement à l’attribut Include .
Quand un projet cible une version du .NET Framework et fait référence à un assembly compilé pour une version plus élevée du .NET Framework, la référence est résolue uniquement si SpecificVersion a la valeur true.
Lorsqu’un projet cible un profil et fait référence à un assembly qui n’est pas dans le profil, la référence se résout uniquement si elle a SpecificVersion la valeur true.
- ExecutableExtension: valeur String . Quand il est présent, l’assembly résolu doit avoir cette extension. Lorsqu’il est absent, dll il est considéré en premier, suivi de .exe, pour chaque répertoire examiné.
- SubType: valeur String . Seuls les éléments avec des métadonnées vides SubType sont résolus en chemins d’accès d’assembly complets. Les éléments avec des métadonnées sansmpty SubType sont ignorés.
- AssemblyFolderKey: valeur String . Ces métadonnées sont prises en charge pour des raisons d’héritage. Elles spécifient une clé de Registre définie par l’utilisateur, telle que hklm\<VendorFolder> que Assemblies doit utiliser pour résoudre les références d’assembly.
AssemblyFiles Paramètre ITaskItem[] facultatif.

Spécifie une liste d’assemblys complets pour lesquels rechercher des dépendances.

Les éléments passés à ce paramètre peuvent éventuellement inclure les métadonnées d’éléments suivantes :

- Private: valeur Boolean facultative. Si la valeur est true, l’élément est copié localement.
- FusionName: métadonnées String facultatives. Spécifie le nom simple ou fort de cet élément. Si cet attribut est présent, il peut gagner du temps, car le fichier d’assembly n’a pas besoin d’être ouvert pour obtenir le nom.
AssemblyInformationCacheOutputPath Paramètre String facultatif.

S’il n’est pas null, il sérialise les informations indépendantes de l’ordinateur sur les entrées AssemblyFiles dans le fichier nommé. Ce paramètre remplace le cache habituel. Utilisez donc ce paramètre uniquement si vous créez un Kit de développement logiciel (SDK) avec de nombreuses références et envisagez d’expédier le cache à vos clients.
AssemblyInformationCachePaths Paramètre ITaskItem facultatif.

Si ce n’est pas null, utilise cet ensemble de caches en tant qu’entrées si MSBuild ne trouve pas le cache habituel dans le dossier obj. Généralement fourni par un kit SDK pour améliorer les performances du premier build.
AutoUnify Paramètre Boolean facultatif.

Ce paramètre est utilisé pour générer des assemblys, tels que des DLL, qui ne peuvent pas avoir de fichier App.Config normal.

Si sa valeur est true, le graphique de dépendance résultant est automatiquement traité comme si un fichier app.config était passé au paramètre AppConfigFile. Ce fichier app.config virtuel a une entrée bindingRedirect pour chaque ensemble d’assemblys en conflit ; c’est l’assembly dont la version est la plus élevée qui est choisi. Tous les conflits ayant déjà été résolus, il n’y a jamais d’avertissement concernant des assemblys en conflit.

Quand true, chaque remapping distinct entraîne un commentaire à priorité élevée montrant les anciennes et nouvelles versions et c’était AutoUnify true.

Quand true, le AppConfigFile paramètre doit être vide.

Quand il a la valeur false, aucun remappage de version d’assembly ne se produit automatiquement. Quand deux versions d’un assembly sont présentes, un avertissement est émis.

Quand il a la valeur false, chaque conflit distinct entre différentes versions du même assembly provoque un commentaire de priorité élevée. Ces commentaires sont suivis d’un avertissement unique. L’avertissement comporte un code d’erreur unique et contient du texte qui lit « Conflits trouvés entre différentes versions de référence et les assemblys dépendants ».

La valeur par défaut est false.
CandidateAssemblyFiles Paramètre String[] facultatif.

Spécifie une liste d’assemblys à utiliser pour le processus de recherche et de résolution. Les valeurs passées à ce paramètre doivent être des noms de fichiers absolus ou relatifs au projet.

Les assemblys de cette liste sont pris en compte lorsque le SearchPaths paramètre contient {CandidateAssemblyFiles} comme l’un des chemins à prendre en compte.
CopyLocalDependenciesWhenParentReferenceInGac Paramètre Boolean facultatif.

Si la valeur est true, pour déterminer si une dépendance doit être copiée localement, l’une des vérifications effectuées consiste à voir si les métadonnées Private de la référence parente dans le fichier de projet sont définies. Si c’est le cas, la valeur Private est utilisée en tant que dépendance.

Si les métadonnées ne sont pas définies, la dépendance passe par les mêmes vérifications que la référence parente. L’une de ces vérifications consiste à voir si la référence figure dans le GAC. Si une référence se trouve dans le GAC, elle n’est pas copiée localement, car elle est supposée être dans le GAC sur l’ordinateur cible. Cela s’applique uniquement à une référence spécifique, et non à ses dépendances.

Par exemple, une référence dans le fichier projet qui se trouve dans le GAC n’est pas copiée localement, mais ses dépendances sont copiées localement, car elles ne se trouvent pas dans le GAC.

Si la valeur est false, les références de fichiers projet sont vérifiées pour voir si elles se trouvent dans le GAC et sont copiées localement selon les besoins.

Les dépendances sont vérifiées pour voir si elles se trouvent dans le GAC et sont également vérifiées pour voir si la référence parente du fichier projet se trouve dans le GAC.

Si la référence parente du fichier projet se trouve dans le GAC, la dépendance n’est pas copiée localement.

Que ce paramètre soit vrai ou false, s’il existe plusieurs références parentes et qu’aucun d’entre eux ne se trouve dans le GAC, tous sont copiés localement.
CopyLocalFiles Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Retourne chaque fichier dans les paramètres ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFileset ScatterFiles dont les métadonnées d’éléments CopyLocal ont la valeur true.
DependsOnNETStandard Paramètre de sortie Boolean.

Si l’une des références principales résolues dépend de .NET Standard.
DependsOnSystemRuntime Paramètre de sortie Boolean.

Si l’une des références principales résolues dépend de System.Runtime.
DoNotCopyLocalIfInGac Paramètre Boolean facultatif.

Active le mode hérité pour la détermination de CopyLocal. Si la valeur est true, les assemblys référencés ne sont pas copiés localement s’ils se trouvent dans le GAC. Si la valeur est false, les assemblys sont copiés localement, sauf s’ils ont été trouvés uniquement dans le GAC. La valeur par défaut est false.
FilesWritten Paramètre de sortie ITaskItem[] facultatif.

Contient les éléments écrits sur le disque.
FindDependencies Paramètre Boolean facultatif.

Si true, les dépendances sont trouvées. Sinon, seules les références principales sont recherchées. La valeur par défaut est true.
FindDependenciesOfExternallyResolvedReferences Paramètre Boolean facultatif.

Forcez les dépendances à être parcourues même quand une référence est marquée avec des métadonnées ExternallyResolved=true.
FindRelatedFiles Paramètre Boolean facultatif.

Si truedes fichiers associés tels que pdb des fichiers et xml des fichiers sont trouvés. La valeur par défaut est true.
FindSatellites Paramètre Boolean facultatif.

Si true, les assemblys satellites sont trouvés. La valeur par défaut est true..
FindSerializationAssemblies Paramètre Boolean facultatif.

Si true, la tâche recherche les assemblys de sérialisation. La valeur par défaut est true.
FullFrameworkAssemblyTables Paramètre ITaskItem[] facultatif.

Spécifie les éléments qui ont FrameworkDirectory des métadonnées pour associer une liste redist à un répertoire d’infrastructure particulier. Si l’association n’est pas effectuée, une erreur est enregistrée. La logique de référence d’assembly de résolution (RAR) utilise le répertoire du framework cible s’il FrameworkDirectory n’est pas défini.
FullFrameworkFolders Paramètre System.String[] facultatif.

Spécifie les dossiers qui contiennent un répertoire RedistList. Ce répertoire représente le framework complet d’un profil client donné, par exemple, %programfiles%\reference assemblies\microsoft\framework\v4.0.
FullTargetFrameworkSubsetNames Paramètre String[] facultatif.

Contient une liste de noms de sous-ensembles du Framework cible. Si le nom d’un sous-ensemble dans la liste correspond à l’un de ceux dans la propriété de nom TargetFrameworkSubset , le système exclut ce sous-ensemble du Framework cible au moment de la génération.
IgnoreDefaultInstalledAssemblyTables Paramètre Boolean facultatif.

Si sa valeur est true, la tâche recherche et utilise des tables d’assemblys installés supplémentaires (ou « Listes de composants redistribuables ») qui se trouvent dans le répertoire \RedistList sous TargetFrameworkDirectories. La valeur par défaut est false..
IgnoreDefaultInstalledAssemblySubsetTables Paramètre Boolean facultatif.

Si sa valeur est true, la tâche recherche et utilise des tables de sous-ensembles d’assemblys installés supplémentaires (ou « Listes de sous-ensembles ») qui se trouvent dans le répertoire \SubsetList sous TargetFrameworkDirectories. La valeur par défaut est false..
IgnoreTargetFrameworkAttributeVersionMismatch Paramètre Boolean facultatif.

Si true, la tâche résout les assemblys qui ciblent une version .NET Framework supérieure au projet actuel. La valeur par défaut est false, qui ignore ces références.
IgnoreVersionForFrameworkReferences Paramètre Boolean facultatif.

Si la référence principale est un assembly de framework, ses informations de version sont ignorées et l’assembly de framework est résolu à partir du framework actuellement ciblé.
InstalledAssemblySubsetTables Paramètre ITaskItem[] facultatif.

Contient une liste de fichiers XML qui spécifient les assemblys censés être dans le sous-ensemble cible.

En guise d’option, les éléments de cette liste peuvent spécifier les FrameworkDirectory métadonnées à associer à un InstalledAssemblySubsetTable

à un répertoire du Framework particulier.

S’il n’existe qu’un TargetFrameworkDirectories seul élément, tous les éléments de cette liste qui n’ont pas les FrameworkDirectory" métadonnées sont traités comme s’ils sont définis sur la valeur unique passée à TargetFrameworkDirectories.
InstalledAssemblyTables Paramètre String facultatif.

Contient une liste de fichiers XML qui spécifient les assemblys censés être installés sur l’ordinateur cible.

Quand InstalledAssemblyTables est défini, les versions antérieures des assemblys de la liste sont fusionnées dans les versions plus récentes mentionnées dans le fichier XML. En outre, les assemblys qui ont un paramètre InGAC='true' sont considérés comme des prérequis et sont définis sur la CopyLocal='false' valeur à moins de remplacer explicitement.

En guise d’option, les éléments de cette liste peuvent spécifier des FrameworkDirectory métadonnées à associer InstalledAssemblyTable à un répertoire d’infrastructure particulier. Toutefois, ce paramètre est ignoré, sauf si la valeur Redist Name commence par

Microsoft-Windows-CLRCoreComp.

S’il n’existe qu’un TargetFrameworkDirectories seul élément, tous les éléments de cette liste qui n’ont pas les FrameworkDirectory métadonnées sont traités comme s’ils sont définis sur la valeur unique qui est passée

à TargetFrameworkDirectories.
LatestTargetFrameworkDirectories Paramètre String[] facultatif.

Spécifie une liste de répertoires qui contiennent les listes de composants redistribuables pour le framework le plus récent qui puisse être ciblé sur l’ordinateur. Si ce n’est pas défini, l’infrastructure la plus élevée installée sur l’ordinateur pour un identificateur d’infrastructure cible donné est utilisée.
OutputUnresolvedAssemblyConflicts Paramètre Boolean facultatif.

Si true, génère tout conflit d’assembly non résolu avec le code de diagnostic MSB3277 dans le paramètre UnresolveAssemblyConflicts de sortie.
ProfileName Paramètre String facultatif.

Spécifie le nom du profil du Framework à cibler. Par exemple Client, Web ou Réseau. Pertinent uniquement pour les profils .NET Framework.
RelatedFiles Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient des fichiers associés, tels que XML et pdb des fichiers qui ont le même nom de base qu’une référence.

Les fichiers répertoriés dans ce paramètre peuvent éventuellement contenir les métadonnées d’éléments suivantes :

- Primary: valeur Boolean . Si true, l’élément de fichier a été passé dans le tableau à l’aide du paramètre Assemblies facultatif. La valeur par défaut est false.
- CopyLocal: valeur Boolean . Indique si la référence donnée doit être copiée dans le répertoire de sortie.
ResolvedDependencyFiles Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient les chemins de nième ordre aux dépendances. Ce paramètre n’inclut pas les références primaires de premier ordre, qui sont contenues dans le ResolvedFiles paramètre.

Les éléments de ce paramètre contiennent éventuellement les métadonnées d’éléments suivantes :

- CopyLocal: valeur Boolean . Indique si la référence donnée doit être copiée dans le répertoire de sortie.
- FusionName: valeur String . Spécifie le nom de cette dépendance.
- ResolvedFrom: valeur String . Spécifie le chemin de recherche littéral à partir duquel ce fichier a été résolu.
ResolvedFiles Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient une liste de toutes les références principales résolues en chemins complets.

Les éléments de ce paramètre contiennent éventuellement les métadonnées d’éléments suivantes :

- CopyLocal: valeur Boolean . Indique si la référence donnée doit être copiée dans le répertoire de sortie.
- FusionName: valeur String . Spécifie le nom de cette dépendance.
- ResolvedFrom: valeur String . Spécifie le chemin de recherche littéral à partir duquel ce fichier a été résolu.
ResolvedSDKReferences Paramètre ITaskItem[] facultatif.

Liste des références du Kit de développement logiciel (SDK) résolues, qui contiennent le nom du SDK, l’emplacement du SDK et la configuration ciblée. Ces emplacements ne sont recherchés que si la référence a les SDKName métadonnées qui lui sont attachées.
SatelliteFiles Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Spécifie les fichiers satellites trouvés. Ces fichiers sont CopyLocal=true si la référence ou la dépendance qui a provoqué l’existence de cet élément est CopyLocal=true.

Les éléments de ce paramètre contiennent éventuellement les métadonnées d’éléments suivantes :

- CopyLocal: valeur Boolean . Indique si la référence donnée doit être copiée dans le répertoire de sortie. Cette valeur est true si la référence ou la dépendance qui a provoqué l’existence de cet élément est a une valeur CopyLocal égale à true.
- DestinationSubDirectory: valeur String . Spécifie le répertoire de destination relatif dans lequel copier cet élément.
ScatterFiles Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient les fichiers composites associés à l’un des assemblys donnés.

Les éléments de ce paramètre contiennent éventuellement les métadonnées d’éléments suivantes :

- CopyLocal: valeur Boolean . Indique si la référence donnée doit être copiée dans le répertoire de sortie.
SearchPaths Paramètre String[] requis.

Spécifie les répertoires ou emplacements spéciaux qui sont explorés pour rechercher les fichiers du disque représentant les assemblys. L’ordre dans lequel les chemins de recherche sont répertoriés est important. Pour chaque assembly, la liste des chemins de recherche est consultée de gauche à droite. Quand un fichier qui représente l’assembly est trouvé, cette recherche s’arrête et la recherche de l’assembly suivant démarre.

Ce paramètre accepte une liste de valeurs (avec un point-virgule comme séparateur) qui peuvent être des chemins de répertoire ou des valeurs littérales spéciales de la liste ci-dessous :

- {HintPathFromItem}: indique à la tâche d’examiner les HintPath métadonnées de l’élément de base.
- {CandidateAssemblyFiles}: indique à la tâche d’examiner les fichiers transmis via le CandidateAssemblyFiles paramètre.
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>} : indique à la tâche de rechercher dans des dossiers supplémentaires spécifiés dans le Registre. <AssemblyFoldersBase>, <RuntimeVersion> et <AssemblyFoldersSuffix> doivent être remplacés par des valeurs propres à l’emplacement de Registre à examiner. La spécification par défaut dans les cibles communes est {Registry:$(FrameworkRegistryBase), $(TargetFrameworkVersion), $(AssemblyFoldersSuffix), $(AssemblyFoldersExConditions)}.
- {AssemblyFolders}: indique à la tâche d’utiliser le schéma visual Studio.NET 2003 finding-assemblys-from-registry.
- {GAC}: indique à la tâche de rechercher dans le Global Assembly Cache (GAC).
- {RawFileName} : spécifie que la tâche considérera que la valeur Include de l’élément est un chemin et un nom fichier exacts.
SerializationAssemblyFiles Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient tous les assemblys de sérialisation XML trouvés. Ces éléments sont marqués CopyLocal=true si et seulement si la référence ou la dépendance qui a provoqué l’existence de cet élément est CopyLocal=true.

Les métadonnées Boolean CopyLocal indiquent si la référence donnée doit être copiée dans le répertoire de sortie.
Silent Paramètre Boolean facultatif.

Si true, aucun message n’est enregistré. La valeur par défaut est false.
StateFile Paramètre String facultatif.

Spécifie un nom de fichier qui indique où enregistrer l’état de génération intermédiaire pour cette tâche.
SuggestedRedirects Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient un élément pour chaque identité d’assembly incompatible distincte, quelle que soit la valeur du paramètre AutoUnify . Cela inclut chaque culture et PKT trouvées qui n’ont pas d’entrée appropriée bindingRedirect dans le fichier de configuration de l’application.

Chaque élément peut contenir les informations suivantes :

- Include attribut : contient le nom complet de la famille d’assemblys avec une valeur de champ Version de 0.0.0.0
- MaxVersion : contient le numéro de version maximal.
SupportsBindingRedirectGeneration Paramètre Boolean facultatif.

Affectez-lui la valeur true sur les projets pris en charge pour générer automatiquement des redirections de liaison (actuellement pris en charge uniquement pour les projets EXE).
TargetedRuntimeVersion Paramètre String facultatif.

Spécifie la version du runtime à cibler, par exemple 2.0.57027 ou v2.0.57027.
TargetFrameworkDirectories Paramètre String[] facultatif.

Spécifie le chemin du répertoire du Framework cible. Ce paramètre est requis pour déterminer l’état CopyLocal des éléments résultants.

Si ce paramètre n’est pas spécifié, aucun élément résultant n’aura une CopyLocal valeur, true sauf s’il a explicitement une Private valeur de true métadonnées sur son élément source.
TargetFrameworkMoniker Paramètre String facultatif.

À TargetFrameworkMoniker surveiller, le cas échéant. Ce paramètre est utilisé pour la journalisation.
TargetFrameworkMonikerDisplayName Paramètre String facultatif.

Nom d’affichage du TargetFrameworkMoniker à surveiller, le cas échéant. Ce paramètre est utilisé pour la journalisation.
TargetFrameworkSubsets Paramètre String[] facultatif.

Contient une liste de noms de sous-ensembles du Framework cible à rechercher dans les répertoires du Framework cible.
TargetFrameworkVersion Paramètre String facultatif.

Version du Framework cible du projet. La valeur par défaut est vide, ce qui signifie qu’il n’existe aucun filtrage pour les références basées sur le framework cible.
TargetProcessorArchitecture Paramètre String facultatif.

Architecture de processeur cible préférée. Utilisé pour la résolution des références du Global Assembly Cache (GAC).

Ce paramètre peut avoir la valeur x86, IA64 ou AMD64.

Si ce paramètre est absent, la tâche considère d’abord les assemblys qui correspondent à l’architecture du processus en cours d’exécution. Si aucun assembly n’est trouvé, la tâche considère les assemblys dans le GAC dont la valeur ProcessorArchitecture est MSIL ou ceux qui n’ont aucune valeur ProcessorArchitecture .
UnresolvedAssemblyConflicts Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Si le paramètre OutputUnresolvedAssemblyConflicts est true, il est défini sur une liste d’informations concernant les conflits non résolus, qui aurait normalement été fournie en sortie dans MSB3277. Sinon, vide.
UnresolveFrameworkAssembliesFromHigherFrameworks Paramètre Boolean facultatif.

S’il est défini sur true, il impose l’état non résolu des assemblys de framework avec des versions supérieures ou égales à la version du framework cible.
WarnOrErrorOnTargetArchitectureMismatch Paramètre String facultatif.

S’il existe une incompatibilité entre l’architecture du processeur cible et l’architecture d’une référence principale, lorsqu’il s’agit Errord’une erreur est enregistrée ; quand Warning, un avertissement est journalisé ; quand None, aucune erreur ou avertissement n’est journalisé. La valeur par défaut est Warning.

Avertissements

Les avertissements suivants sont enregistrés :

  • ResolveAssemblyReference.TurnOnAutoGenerateBindingRedirects

  • ResolveAssemblyReference.SuggestedRedirects

  • ResolveAssemblyReference.FoundConflicts

  • ResolveAssemblyReference.AssemblyFoldersExSearchLocations

  • ResolveAssemblyReference.UnifiedPrimaryReference

  • ResolveAssemblyReference.PrimaryReference

  • ResolveAssemblyReference.UnifiedDependency

  • ResolveAssemblyReference.UnificationByAutoUnify

  • ResolveAssemblyReference.UnificationByAppConfig

  • ResolveAssemblyReference.UnificationByFrameworkRetarget

Remarques

En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe TaskExtension , qui elle-même hérite de la classe Task . Pour obtenir la liste de ces paramètres supplémentaires et leurs descriptions, consultez Classe de base TaskExtension.

Voir aussi