ResolveComReference, tâche

Prend une liste d’un ou plusieurs noms de bibliothèques de types ou de fichiers .tlb et résout ces bibliothèques de types aux emplacements sur le disque.

Paramètres

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

Paramètre Description
DelaySign Paramètre Boolean facultatif.

Si la valeur est true, place la clé publique dans l’assembly. Si la valeur est false, signe complètement l’assembly.
EnvironmentVariables Paramètre String[] facultatif.

Tableau de paires de variables d'environnement, séparées par un signe égal. Ces variables sont passées aux fichiers tlbimp.exe et aximp.exe générés en plus ou en remplacement sélectif du bloc d’environnement normal.
ExecuteAsTool Paramètre Boolean facultatif.

Si la valeur est true, exécute tlbimp.exe et aximp.exe à partir du framework cible approprié out-of-process pour générer les assemblys de wrappers nécessaires. Ce paramètre permet le multiciblage.
IncludeVersionInInteropName Paramètre Boolean facultatif.

Si la valeur est true, la version de la typelib sera incluse dans le nom du wrapper. Par défaut, il s’agit de false.
KeyContainer Paramètre String facultatif.

Spécifie un conteneur qui contient une paire de clés publique/privée.
KeyFile Paramètre String facultatif.

Spécifie un élément qui contient une paire de clés publique/privée.
NoClassMembers Paramètre Boolean facultatif.
ResolvedAssemblyReferences Paramètre de sortie ITaskItem[] facultatif.

Spécifie les références d’assembly résolues.
ResolvedFiles Paramètre de sortie ITaskItem[] facultatif.

Spécifie les fichiers avec leur nom complet sur le disque qui correspondent aux emplacements physiques des bibliothèques de types fournies comme entrée pour cette tâche.
ResolvedModules Paramètre ITaskItem[] facultatif.
SdkToolsPath Paramètre System.String facultatif.

Si ExecuteAsTool a la valeur true, ce paramètre doit être défini sur le chemin des outils du SDK de la version du framework ciblée.
StateFile Paramètre String facultatif.

Spécifie le fichier cache pour les horodateurs de composant COM. S’il n’est pas présent, chaque exécution régénère tous les wrappers.
TargetFrameworkVersion Paramètre String facultatif.

Spécifie la version du framework cible du projet.

Par défaut, il s’agit de String.Empty. ce qui signifie qu’il n’existe pas de filtrage pour une référence basée sur le framework cible.
TargetProcessorArchitecture Paramètre String facultatif.

Spécifie l’architecture de processeur cible préférée. Passé à l’indicateur tlbimp.exe/machine après traduction.

La valeur du paramètre doit être un membre de ProcessorArchitecture.
TypeLibFiles Paramètre ITaskItem[] facultatif.

Spécifie le chemin du fichier de bibliothèque de types vers les références COM. Les éléments inclus dans ce paramètre peuvent contenir des métadonnées d’élément. Pour plus d’informations, consultez la section Métadonnées d’élément TypeLibFiles ci-dessous.
TypeLibNames Paramètre ITaskItem[] facultatif.

Spécifie les noms de bibliothèques de types à résoudre. Les éléments inclus dans ce paramètre doivent contenir certaines métadonnées d’élément. Pour plus d’informations, consultez la section Métadonnées d’élément TypeLibNames ci-dessous.
WrapperOutputDirectory Paramètre String facultatif.

Emplacement sur le disque où se trouve l’assembly d’interopérabilité généré. Si ces métadonnées d’élément ne sont pas spécifiée, la tâche utilise le chemin absolu du répertoire où se trouve le fichier projet.

Métadonnées d’élément TypeLibNames

Le tableau suivant décrit les métadonnées d’élément disponibles pour les éléments passés au paramètre TypeLibNames.

Métadonnées Description
GUID Métadonnées d’élément obligatoires.

GUID de la bibliothèque de types. Si ces métadonnées d’élément ne sont pas spécifiées, la tâche échoue.
VersionMajor Métadonnées d’élément obligatoires.

Version principale de la bibliothèque de types. Si ces métadonnées d’élément ne sont pas spécifiées, la tâche échoue.
VersionMinor Métadonnées d’élément obligatoires.

Version secondaire de la bibliothèque de types. Si ces métadonnées d’élément ne sont pas spécifiées, la tâche échoue.
EmbedInteropTypes Métadonnées Boolean facultatives.

Si true, incorporez les types interop de cette référence directement dans votre assembly au lieu de générer une DLL interop.
LocaleIdentifier Métadonnées d’élément facultatives.

Identificateur de paramètres régionaux (LCID) pour la bibliothèque de types. Ceci est spécifié sous la forme d’une valeur sur 32 bits qui identifie la langue préférée par un utilisateur, une région ou une application. Si ces métadonnées d’élément ne sont pas spécifiées, la tâche utilise « 0 » comme identificateur de paramètres régionaux par défaut.
WrapperTool Métadonnées d’élément facultatives.

Spécifie l’outil wrapper utilisé pour générer le wrapper d’assembly pour cette bibliothèque de types. Si ces métadonnées d’élément ne sont pas spécifiées, la tâche utilise « tlbimp » comme outil wrapper par défaut. Les choix disponibles (leur casse n’est pas prise en compte) sont :

- Primary : utilisez cet outil wrapper quand vous voulez utiliser un assembly PIA (Primary Interop Assembly) déjà généré pour le composant COM. Quand vous utilisez cet outil wrapper, ne spécifiez pas un répertoire de sortie du wrapper, car cela provoquerait l’échec de la tâche.
- TLBImp : utilisez cet outil wrapper quand vous voulez générer un assembly d’interopérabilité pour le composant COM.
- PrimaryOrTLBImp : utilisez cet outil wrapper lorsque vous ne savez pas si Primary ou TLBImp est approprié. La logique Primary est appliquée en premier. Ensuite vient TLBImp.
- AXImp : utilisez cet outil wrapper quand vous voulez générer un assembly d’interopérabilité pour un contrôle ActiveX.

Métadonnées d’élément TypeLibFiles

Le tableau suivant décrit les métadonnées d’élément disponibles pour les éléments passés au paramètre TypeLibFiles.

Métadonnées Description
EmbedInteropTypes Paramètre Boolean facultatif.

Si true, incorporez les types interop de cette référence directement dans votre assembly au lieu de générer une DLL interop.
WrapperTool Métadonnées d’élément facultatives.

Spécifie l’outil wrapper utilisé pour générer le wrapper d’assembly pour cette bibliothèque de types. Si ces métadonnées d’élément ne sont pas spécifiées, la tâche utilise « tlbimp » comme outil wrapper par défaut. Les choix disponibles (leur casse n’est pas prise en compte) sont :

- Primary : utilisez cet outil wrapper quand vous voulez utiliser un assembly PIA (Primary Interop Assembly) déjà généré pour le composant COM. Quand vous utilisez cet outil wrapper, ne spécifiez pas un répertoire de sortie du wrapper, car cela provoquerait l’échec de la tâche.
- TLBImp : utilisez cet outil wrapper quand vous voulez générer un assembly d’interopérabilité pour le composant COM.
- AXImp : utilisez cet outil wrapper quand vous voulez générer un assembly d’interopérabilité pour un contrôle ActiveX.

Notes

Plus vous fournissez d’informations pour identifier de façon univoque une bibliothèque de types, plus grande est la possibilité que la tâche aboutisse au fichier correct sur le disque.

Notes

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

La DLL COM n’a pas besoin d’être inscrite sur la machine pour que cette tâche fonctionne.

Erreur MSB4803

Si vous essayez d’exécuter un projet qui utilise la tâche ResolveCOMReference à partir des commandes CLI dotnet, vous obtenez l’erreur suivante :

MSB4803: The task "ResolveComReference" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild.

Cette tâche n’est pas prise en charge sur la version .NET Core de MSBuild, qui est utilisée lorsque la commande dotnet build est exécutée en ligne de commande. Essayez de générer le projet en appelant MSBuild.exe dans l’Invite de commandes développeur Visual Studio, car la version .NET Framework de MSBuild sera ainsi employée.

Voir aussi