Partager via


ResolveAssemblyReference, tâche

Détermine tous les assemblys qui dépendent des assemblys spécifiés, notamment les dépendances de deuxième et de nième ordres.

Paramètres

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

Paramètre

Description

AllowedAssemblyExtensions

Paramètre String[] facultatif.

Extensions de nom de fichier d'assembly à utiliser lors de la résolution de références. Les extensions par défaut sont .exe et .dll.

AllowedRelatedFileExtensions

Paramètre String[] facultatif.

Extensions de nom de fichier à utiliser dans le cadre d'une recherche de fichiers liés les uns aux autres. Les extensions par défaut sont .pdb et .xml.

AppConfigFile

Paramètre String facultatif.

Spécifie un fichier app.config dans lequel des mappages bindingRedirect doivent être analysés et extraits. Si ce paramètre est spécifié, le paramètre AutoUnify doit avoir la valeur false.

AutoUnify

Paramètre Boolean facultatif.

Ce paramètre est utilisé pour la création d'assemblys, comme les DLL, qui ne peuvent pas avoir un fichier App.Config normal.

Lorsque la 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, de sorte que l'assembly avec la version la plus récente est choisi. Par conséquent, vous ne recevrez jamais de message d'avertissement concernant des assemblys en conflit, car tous les conflits auront déjà été résolus.

Lorsque la valeur est true, chaque remappage distinct générera un commentaire de priorité élevée qui indique les versions ancienne et nouvelle et le fait que AutoUnify ait la valeur true.

Lorsque la valeur est true, le paramètre AppConfigFile doit être vide.

Lorsque la valeur est false, aucun remappage de version d'assembly n'est effectué automatiquement. Lorsque deux versions d'un assembly sont présentes, un avertissement est émis.

Lorsque la valeur est false, chaque conflit distinct entre des versions différentes du même assembly provoque l'émission d'un commentaire de priorité élevée. Ces commentaires sont suivis par un simple avertissement. L'avertissement a un code d'erreur unique et contient le texte « Des conflits entre différentes versions du même assembly dépendant ont été rencontrés ».

Assemblies

Paramètre ITaskItem[] optionnel.

Spécifie les éléments pour lesquels des chemins d'accès complets et des dépendances doivent être identifiés. Ces éléments peuvent porter des noms simples tels que « 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 comporter les métadonnées d'élément suivantes :

  • Private : valeur Boolean. Si la valeur est true, l'élément est copié localement. La valeur par défaut est true.

  • HintPath : valeur String. Spécifie le chemin d'accès et le nom de fichier à utiliser comme référence. Ce paramètre est utilisé lorsque {HintPathFromItem} est spécifié dans le paramètre SearchPaths. La valeur par défaut est une chaîne vide.

  • SpecificVersion : valeur Boolean. Si la valeur est true, le nom exact spécifié dans l'attribut Include doit correspondre. Si la valeur est false, tout assembly avec le même nom simple est utilisé. Si SpecificVersion n'est pas spécifié, la tâche prend en compte la valeur dans l'attribut Include de l'élément. Si l'attribut est un nom simple, il se comporte comme si SpecificVersion avait la valeur false. Si l'attribut est un nom fort, il se comporte comme si SpecificVersion avait la valeur true.

    En cas d'utilisation avec un type d'élément Reference, 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.

    Lorsqu'un projet cible une version du .NET Framework et référence un assembly compilé pour une version plus récente du .NET Framework, la référence est uniquement résolue si SpecificVersion a la valeur true.

    Lorsqu'un projet cible un profil et référence un assembly qui n'est pas dans le profil, la référence est uniquement résolue si SpecificVersion a la valeur true.

  • ExecutableExtension : valeur String. Lorsque cet attribut est présent, l'assembly résolu doit avoir cette extension. Lorsque cet attribut est absent, .dll est d'abord pris en compte, suivi de .exe, pour chaque répertoire exploré.

  • SubType : valeur String. Seuls les éléments avec des métadonnées SubType vides sont résolus en chemins d'accès d'assembly complets. Les éléments comportant des métadonnées SubType non vides sont ignorés.

  • AssemblyFolderKey : valeur String. Ces métadonnées sont prises en charge à des fins d'héritage. Elles spécifient une clé de Registre définie par l'utilisateur, comme « hklm\VendorFolder », que Assemblies doit utiliser pour résoudre des références d'assembly.

AssemblyFiles

Paramètre ITaskItem[] optionnel.

Spécifie la liste des assemblys qualifiés complets pour lesquels rechercher des dépendances.

Les éléments passés à ce paramètre peuvent éventuellement comporter les métadonnées d'élément 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 faire gagner du temps, car le fichier d'assembly n'a pas besoin d'être ouvert pour obtenir le nom.

AutoUnify

Paramètre Boolean facultatif.

Si la 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, de sorte que l'assembly avec la version la plus récente est choisi. Par conséquent, vous ne recevrez jamais de message d'avertissement concernant des assemblys en conflit, car tous les conflits auront déjà été résolus. Chaque remappage distinct générera un commentaire de priorité élevée qui indique les versions ancienne et nouvelle et le fait que cette opération ait été exécutée automatiquement dans la mesure où AutoUnify avait la valeur true.

Si la valeur est false, aucun remappage de version d'assembly n'est effectué automatiquement. Lorsque deux versions d'un assembly sont présentes, un avertissement est émis. Chaque conflit distinct entre des versions différentes du même assembly provoque l'émission d'un commentaire de priorité élevée. Une fois tous ces commentaires affichés, un avertissement avec un code d'erreur unique et le texte « Des conflits entre différentes versions du même assembly dépendant ont été rencontrés » s'affiche.

La valeur par défaut est false.

CandidateAssemblyFiles

Paramètre String[] facultatif.

Spécifie la liste des 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 des noms de fichiers relatifs au projet.

Les assemblys contenus dans cette liste sont pris en compte lorsque le paramètre SearchPaths contient {CandidateAssemblyFiles} comme l'un des chemins d'accès à prendre en compte.

CopyLocalDependenciesWhenParentReferenceInGac

Paramètre [Boolean] facultatif.

Si la valeur est true, pour contrôler si une dépendance doit être copiée localement, une des vérifications effectuées permet de déterminer si les métadonnées privées sont définies ou non pour la référence parente dans le fichier projet. Si elle est définie, la valeur Private est utilisée comme dépendance.

Si les métadonnées ne sont pas définies, la dépendance sera soumise aux mêmes vérifications que la référence parente. Une de ces vérifications permet de 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. Ceci ne vaut que pour une référence spécifique et pas pour ses dépendances.

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

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

Les dépendances sont contrôlées pour vérifier si elles sont dans le GAC et voir si la référence parente du fichier projet figure dans le GAC.

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

Que ce paramètre ait la valeur true ou false, s'il existe plusieurs références parent et si aucune ne se trouve dans le GAC, elles sont toutes copiées localement.

CopyLocalFiles

Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Retourne chaque fichier dans les paramètres ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFiles et ScatterFiles qui possède des métadonnées d'élément CopyLocal avec la valeur true.

FilesWritten

Paramètre de sortie ITaskItem[] facultatif.

Contient les éléments écrits sur le disque.

FindDependencies

Paramètre Boolean facultatif.

Si la valeur est true, des dépendances sont recherchées. Sinon, seules les références principales sont recherchées. La valeur par défaut est true.

FindRelatedFiles

Paramètre Boolean facultatif.

Si la valeur est true, les fichiers associés, tels que les fichiers .pdb et .xml sont recherchés. La valeur par défaut est true.

FindSatellites

Paramètre Boolean facultatif.

Si la valeur est true, les assemblys satellites sont recherchés. La valeur par défaut est true..

FindSerializationAssemblies

Paramètre Boolean facultatif.

Si la valeur est true, la tâche recherche des assemblys de sérialisation. La valeur par défaut est true.

FullFrameworkAssemblyTables

Paramètre ITaskItem[] facultatif.

Spécifie les éléments qui ont des métadonnées « FrameworkDirectory » afin d'associer une liste de composants redistribuables à un répertoire du Framework particulier. Si l'association n'est pas effectuée, une erreur est enregistrée. La logique dans RAR (Resolve Assembly Reference) utilise le répertoire du Framework cible si aucun FrameworkDirectory n'est défini.

FullFrameworkFolders

Paramètre [String][] facultatif.

Spécifie l'ensemble des dossiers qui contiennent un répertoire RedistList. Ce répertoire représente l'infrastructure complète pour un profil client donné, par exemple, %programfiles%\reference assemblies\microsoft\framework\v4.0.

FullTargetFrameworkSubsetNames

Paramètre String[] facultatif.

Contient la liste des noms des sous-ensembles de la version cible de .Net Framework. Si le nom d'un sous-ensemble de la liste correspond à celui inclus dans la propriété de nom TargetFrameworkSubset, le système exclut ce sous-ensemble particulier de la version cible de .Net Framework au moment de la génération.

IgnoreDefaultInstalledAssemblyTables

Paramètre Boolean facultatif.

Si la valeur est true, la tâche recherche et utilise les tables d'assemblys installés supplémentaires (ou « listes de composants redistribuables ») trouvées dans le répertoire \RedistList sous TargetFrameworkDirectories. La valeur par défaut est false..

IgnoreDefaultInstalledAssemblySubsetTables

Paramètre Boolean facultatif.

Si la valeur est true, la tâche recherche et utilise les tables de sous-ensembles d'assemblys installés supplémentaires (ou « listes de sous-ensembles ») trouvées dans le répertoire \SubsetList sous TargetFrameworkDirectories. La valeur par défaut est false..

InstalledAssemblySubsetTables

Paramètre ITaskItem[] optionnel.

Contient la liste des fichiers XML qui spécifient les assemblys attendus dans le sous-ensemble cible.

En option, les éléments de cette liste peuvent spécifier des métadonnées « FrameworkDirectory » afin d'associer InstalledAssemblySubsetTable

à un répertoire Framework particulier.

S'il n'existe qu'un seul élément TargetFrameworkDirectories, tous les éléments de cette liste dépourvus des métadonnées « FrameworkDirectory » sont traités comme s'ils avaient la valeur unique passée à TargetFrameworkDirectories.

InstalledAssemblyTables

Paramètre String facultatif.

Contient la liste des fichiers XML qui spécifient les assemblys attendus pour être installés sur l'ordinateur cible.

Si InstalledAssemblyTables est défini, les versions antérieures des assemblys de la liste sont fusionnées dans les versions plus récentes répertoriées dans le code XML. En outre, les assemblys qui présentent le paramètre InGAC='true' sont considérés comme des composants requis et ont le paramètre CopyLocal='false', sauf en cas de substitution explicite.

En option, les éléments de cette liste peuvent spécifier des métadonnées « FrameworkDirectory » afin d'associer InstalledAssemblyTable à un répertoire Framework particulier. Toutefois, ce paramètre est ignoré, sauf si le nom du composant redistribuable (Redist) commence par

« Microsoft-Windows-CLRCoreComp ».

S'il n'existe qu'un seul élément TargetFrameworkDirectories, tous les éléments de cette liste dépourvus des métadonnées « FrameworkDirectory » sont traités comme s'ils avaient la valeur unique passée

à TargetFrameworkDirectories.

LatestTargetFrameworkDirectories

Paramètre String[] facultatif.

Spécifie la liste des répertoires qui contiennent les listes redist pour le .NET Framework le plus récent qui peut être ciblé sur l'ordinateur. S'il n'est pas défini, le .NET Framework le plus élevé installé sur la machine pour un identificateur de Framework cible donné est l'utilisé.

ProfileName

Paramètre [String] facultatif.

  • Spécifie le nom du profil du Framework à cibler. Par exemple, Client, Web ou Réseau.

RelatedFiles

Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient des fichiers associés, tels des fichiers XML et .pdb, qui portent le même nom de base de référence.

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

  • Primary : valeur Boolean. Si la valeur est true, l'élément de fichier est passé dans le tableau à l'aide du paramètre Assemblies. La valeur par défaut est false

  • CopyLocal : valeur Boolean. Indique si la référence donnée doit être copiée vers le répertoire de sortie.

ResolvedDependencyFiles

Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient les chemins d'accès de n ordre aux dépendances. Ce paramètre n'inclut pas les références principales de premier ordre contenues dans le paramètre ResolvedFiles.

Les éléments de ce paramètre peuvent contenir les métadonnées d'élément suivantes :

  • CopyLocal : valeur Boolean. Indique si la référence donnée doit être copiée vers 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 la liste de toutes les références principales correspondant à des chemins d'accès complets.

Les éléments de ce paramètre peuvent contenir les métadonnées d'élément suivantes :

  • CopyLocal : valeur Boolean. Indique si la référence donnée doit être copiée vers 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.

SatelliteFiles

Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Spécifie les fichiers satellites recherchés. La valeur sera CopyLocal=true si la référence ou la dépendance qui a provoqué la création de cet élément est CopyLocal=true.

Les éléments de ce paramètre peuvent contenir les métadonnées d'élément suivantes :

  • CopyLocal : valeur Boolean. Indique si la référence donnée doit être copiée vers le répertoire de sortie. Cette valeur est true si la référence ou la dépendance qui a provoqué la création de cet élément a la valeur CopyLocal 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 peuvent contenir les métadonnées d'élément suivantes :

  • CopyLocal : valeur Boolean. Indique si la référence donnée doit être copiée vers le répertoire de sortie.

SearchPaths

Paramètre String[] obligatoire.

Spécifie les répertoires ou les emplacements spéciaux qui sont explorés pour rechercher les fichiers sur le 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 d'accès est explorée de gauche à droite. Lorsqu'un fichier représentant l'assembly est détecté, cette recherche s'arrête et la recherche de l'assembly suivant démarre.

Ce paramètre accepte les types de valeurs suivants :

  • Un chemin d'accès au répertoire.

  • {HintPathFromItem} : spécifie que la tâche examinera les métadonnées HintPath de l'élément de base.

  • {CandidateAssemblyFiles} : spécifie que la tâche examinera les fichiers passés via le paramètre CandidateAssemblyFiles.

  • {Registry:_AssemblyFoldersBase_, _RuntimeVersion_, _AssemblyFoldersSuffix_}:

  • {AssemblyFolders} : indique que la tâche utilisera la méthode de recherche d'assemblys dans le Registre de Visual Studio .NET 2003.

  • {GAC } : spécifie que la tâche effectuera des recherches dans le GAC (Global Assembly Cache).

  • {RawFileName} : spécifie que la tâche considérera la valeur Include de l'élément comme un chemin d'accès et un nom de fichier exacts.

SerializationAssemblyFiles

Paramètre de sortie en lecture seule ITaskItem[] facultatif.

Contient tout assembly de sérialisation XML trouvé. 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.

La valeur CopyLocal des métadonnées Boolean indique si la référence donnée doit être copiée dans le répertoire de sortie.

Silent

Paramètre Boolean facultatif.

Si la valeur est 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 l'endroit 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, indépendamment de la valeur du paramètre AutoUnify. Cela inclut chaque culture et authentification PKT trouvée dont l'entrée bindingRedirect était incorrecte dans le fichier de configuration de l'application.

Chaque élément peut contenir les informations suivantes :

  • Attribut Include : contient le nom complet de la famille d'assembly avec la valeur 0.0.0.0 pour le champ Version.

  • Métadonnées d'élément MaxVersion : contient le numéro de version maximal.

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 d'accès du répertoire de la version cible de .Net Framework. Ce paramètre est nécessaire pour déterminer l'état de CopyLocal pour les éléments résultants.

Si ce paramètre n'est pas spécifié, aucun des éléments résultants ne possédera de valeur CopyLocal égale à true, à moins qu'ils aient explicitement la valeur de métadonnées Private true sur leur élément source.

TargetFrameworkMoniker

Paramètre String facultatif.

TargetFrameworkMoniker à surveiller, le cas échéant. Il est utilisé pour la journalisation.

TargetFrameworkMonikerDisplayName

Paramètre String facultatif.

Le nom d'affichage du TargetFrameworkMoniker à surveiller, le cas échéant. Il est utilisé pour la journalisation.

TargetFrameworkSubsets

Paramètre String[] facultatif.

Contient la liste des noms de sous-ensembles de la version cible de .Net Framework à rechercher dans les répertoires de la version cible de .Net Framework.

TargetFrameworkVersion

Paramètre String facultatif.

Version cible de .Net Framework du projet. La valeur par défaut est vide, ce qui signifie qu'il n'y a pas de filtrage pour les références basées sur la version cible de .Net Framework.

TargetProcessorArchitecture

Paramètre String facultatif.

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

Ce paramètre peut avoir les valeurs x86, IA64 ou AMD64.

Si ce paramètre est absent, la tâche considère d'abord des 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 qui n'a aucune valeur ProcessorArchitecture.

Notes

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

Voir aussi

Concepts

Tâches MSBuild

Autres ressources

Référence des tâches MSBuild