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.