Regasm.exe (outil Assembly Registration Tool)

L'outil Assembly Registration Tool (Inscription de l'assembly) lit les métadonnées figurant dans un assembly et ajoute les entrées nécessaires au Registre, ce qui permet aux clients COM de créer en toute transparence des classes .NET Framework. Une fois qu'une classe est inscrite, tout client COM peut l'utiliser comme s'il s'agissait d'une classe COM. La classe fait l'objet d'une seule inscription, lors de l'installation de l'assembly. Les instances des classes figurant dans l'assembly ne peuvent pas être créées à partir de COM tant qu'elles n'ont pas été concrètement inscrites.

Cet outil est installé automatiquement avec Visual Studio et avec le Kit de développement logiciel Windows. Pour exécuter l'outil, nous vous recommandons d'utiliser l'invite de commandes Visual Studio ou l'invite de commandes du Kit de développement logiciel (l'interpréteur de commandes CMD). Ces utilitaires vous permettent d'exécuter l'outil facilement, sans naviguer jusqu'au dossier d'installation. Pour plus d'informations, consultez Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows.

  • Si Visual Studio est installé sur votre ordinateur : dans la barre des tâches, cliquez sur le bouton Start, All Programs, Visual Studio, sur Visual Studio Tools, puis sur Visual Studio Command Prompt.

    ou

    Si vous avez le Kit de développement logiciel Windows installé sur votre ordinateur : Dans la barre des tâches, cliquez sur Start, All Programs, le dossier correspondant au Kit de développement logiciel, puis sur Command Prompt (ou CMD Shell).

  • À l'invite de commandes, tapez ce qui suit :

regasm assemblyFile [options]

Paramètres

Paramètre

Description

assemblyFile

Assembly à inscrire avec COM.

Option

Description

/codebase

Crée une entrée Codebase dans le Registre. L'entrée Codebase spécifie le chemin d'accès du fichier d'un assembly qui n'est pas installé dans le Global Assembly Cache. Vous ne devez pas spécifier cette option si vous devez installer par la suite l'assembly que vous enregistrez dans le Global Assembly Cache. L'argument assemblyFile que vous spécifiez avec l'option /codebase doit être un assembly avec nom fort.

/registered

Spécifie que cet outil fera uniquement référence aux bibliothèques de types qui ont déjà été enregistrées.

/asmpath:directory

Spécifie un répertoire contenant des références d'assembly. Doit être utilisé avec l'option /regfile.

/nologo

Supprime l'affichage de la bannière de démarrage Microsoft.

/regfile [:regFile]

Génère le fichier .reg spécifié pour l'assembly, qui comporte les entrées du Registre nécessaires. La spécification de cette option ne modifie pas le Registre. Vous ne pouvez pas utiliser cette option avec les options /u ou /tlb.

/silent ou /s

Supprime l'affichage des messages indiquant la réussite des opérations.

/tlb [:typeLibFile]

Génère, à partir de l'assembly spécifié, une bibliothèque de types comportant les définitions des types accessibles définis dans l'assembly.

/unregister or /u

Annule l'inscription des classes pouvant être créées figurant dans assemblyFile. Si cette option n'est pas spécifiée, Regasm.exe inscrit les classes pouvant être créées dans l'assembly.

/verbose

Spécifie le mode documenté ; affiche la liste de tous les assemblys référencés pour lesquels une bibliothèque de types doit être générée, en cas de spécification avec l'option /tlb.

/? ou /help

Affiche la syntaxe et les options de commande de l'outil.

RemarqueRemarque

Les options de ligne de commande de Regasm.exe ne font pas l'objet d'une distinction minuscules/majuscules.Il vous suffit d'indiquer les éléments de l'option nécessaires à son identification de manière unique.Par exemple, /n équivaut à /nologo et /t:outfile.tlb à /tlb:outfile.tlb.

Notes

Vous pouvez utiliser l'option /regfile pour générer un fichier .reg comportant les entrées du Registre plutôt que d'apporter directement les modifications au Registre. Vous pouvez mettre à jour le Registre d'un ordinateur en important le fichier .reg à l'aide de l'Éditeur du Registre (Regedit.exe). Notez que le fichier .reg ne comporte pas de mises à jour du Registre pouvant être effectuées par des fonctions de Registre définies par l'utilisateur. Notez que l'option /regfile émet seulement des entrées du Registre pour les classes managées. Cette option n'émet pas d'entrée pour TypeLibID ou InterfaceID.

Lorsque vous spécifiez l'option /tlb, Regasm.exe génère et inscrit une bibliothèque de types décrivant les types figurant dans l'assembly. Regasm.exe place les bibliothèques de types générées dans le répertoire de travail en cours ou dans le répertoire spécifié pour le fichier de sortie. La génération d'une bibliothèque de types pour un assembly référençant d'autres assemblys peut provoquer la génération de plusieurs bibliothèques de types en une seule opération. Vous pouvez utiliser la bibliothèque de types pour fournir les informations de type aux outils de développement comme Visual Studio 2005. Vous ne devez pas utiliser l'option /tlb si l'assembly que vous êtes en train d'inscrire a été créé par Type Library Importer (Tlbimp.exe). Vous ne pouvez pas exporter de bibliothèque de types à partir d'un assembly ayant été importé depuis une bibliothèque de types. L'option /tlb produit le même effet que Type Library Exporter (Tlbexp.exe) et Regasm.exe, à l'exception près que Tlbexp.exe n'inscrit pas la bibliothèque de types qu'il génère. Si vous utilisez l'option /tlb pour enregistrer une bibliothèque de types, vous pouvez utiliser l'option /tlb avec l'option /unregister pour annuler l'enregistrement de la bibliothèque de types. L'utilisation simultanée des deux options annulera l'enregistrement de la bibliothèque de types et des entrées d'interface, ce qui peut considérablement nettoyer le Registre.

Lorsque vous inscrivez un assembly destiné à être utilisé par COM, Regasm.exe ajoute des entrées au Registre sur l'ordinateur local. Plus précisément, il crée des clés de Registre dépendantes de la version qui permettent à plusieurs versions du même assembly de s'exécuter côte à côte sur un ordinateur. Lorsqu'un assembly est inscrit pour la première fois, une clé de niveau supérieur est créée pour l'assembly et une sous-clé unique est créée pour la version spécifique. Chaque fois que vous inscrivez une nouvelle version de l'assembly, Regasm.exe crée une sous-clé pour la nouvelle version.

Par exemple, imaginons un scénario dans lequel vous inscrivez le composant managé, myComp.dll, version 1.0.0.0 pour qu'il soit utilisé par COM. Par la suite, vous inscrivez myComp.dll, version 2.0.0.0. Vous décidez que toutes les applications clientes COM sur l'ordinateur utilisent myComp.dll version 2.0.0.0 et vous décidez d'annuler l'inscription de myComponent.dll version 1.0.0.0. Ce modèle de Registre vous permet d'annuler l'inscription de myComp.dll version 1.0.0.0, car seule la sous-clé de la version 1.0.0.0 est supprimée.

Après avoir inscrit un assembly à l'aide de Regasm.exe, vous pouvez l'installer dans le Global Assembly Cache, pour qu'il puisse être activé à partir d'un client COM. Si l'assembly ne va être activé que par une seule application, vous pouvez alors le placer dans le répertoire de cette application.

Exemples

La commande suivante inscrit toutes les classes publiques figurant dans myTest.dll.

regasm myTest.dll

La commande suivante génère le fichier myTest.reg, qui comporte toutes les entrées du Registre nécessaires. Cette commande ne met pas à jour le Registre.

regasm myTest.dll /regfile:myTest.reg

La commande suivante inscrit toutes les classes publiques figurant dans myTest.dll et elle génère et enregistre la bibliothèque de types myTest.tlb, qui comporte les définitions de tous les types publics définis dans myTest.dll.

regasm myTest.dll /tlb:myTest.tlb

Voir aussi

Référence

Tlbexp.exe (exportateur de bibliothèques de types)

Tlbimp.exe (Type Library Importer)

Invites de commandes Visual Studio e t Kit de développement logiciel (SDK) Windows

Concepts

Inscription d'assemblys dans COM

Autres ressources

Outils du .NET Framework

Historique des modifications

Date

Historique

Motif

Avril 2011

Informations supplémentaires sur l'utilisation des invites de commandes de Visual Studio et du Kit de développement logiciel (SDK) Windows.

Améliorations apportées aux informations.