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 :
|
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 :
|
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.
|
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 :
|
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 :
|
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 :
|
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 :
|
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 :
|
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 :
|
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 :
|
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.