ResolveAssemblyReference, tâche

Mise à jour : Juillet 2008

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.

Assemblies

Paramètre ITaskItem[] facultatif.

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.

  • 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[] facultatif.

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.

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.

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[] facultatif.

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.

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

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

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.

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 Privatetrue sur leur élément source.

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.

Voir aussi

Concepts

Tâches MSBuild

Autres ressources

Référence des tâches MSBuild

Historique des modifications

Date

Historique

Raison

Juillet 2008

Ajout des paramètres suivants :

  • AllowedAssemblyExtensions

  • AllowedRelatedFileExtensions

  • FindSerializationAssemblies

  • FullTargetFrameworkSubsetNames

  • IgnoreDefaultInstalledAssemblyTables

  • IgnoreDefaultInstalledAssemblySubsetTables

  • InstalledAssemblySubsetTables

  • InstalledAssemblyTables

  • TargetFrameworkSubsets

  • TargetFrameworkVersion

Modifications de fonctionnalités dans le SP1.