Installer un assembly dans le Global Assembly Cache .NET Framework

Cet article explique comment installer un fichier d’assembly .dll dans le Global Assembly Cache Microsoft .NET Framework et créer un assembly avec un nom fort à l’aide de Visual Studio.

Version d’origine du produit : .NET Framework, Visual Studio
Numéro de la base de connaissances d’origine : 910355

Résumé

Pour installer un fichier de .dll d’assembly dans le global assembly cache .NET Framework, vous pouvez utiliser l’outil Global Assembly Cache du Kit de développement logiciel (SDK) .NET Framework. Vous pouvez également utiliser l’outil Global Assembly Cache pour vérifier que l’assembly est installé dans le Global Assembly Cache. Pour effectuer cette tâche, vous pouvez disposer de droits d’administrateur sur l’ordinateur sur lequel l’assembly partagé est installé. De plus, vous devez installer le Kit de développement logiciel (SDK) .NET Framework.

Pour obtenir une version Visual C# .NET de cet article, consultez Guide pratique pour installer un assembly dans le Global Assembly Cache dans Visual C#.

Global Assembly Cache

Le global assembly cache .NET Framework est un cache de code. Le Global Assembly Cache est automatiquement installé sur chaque ordinateur sur lequel le Common Language Runtime .NET Framework est installé. Toute application installée sur l’ordinateur peut accéder au Global Assembly Cache. Le Global Assembly Cache stocke les assemblys qui sont désignés pour être partagés par plusieurs applications sur l’ordinateur. Les assemblys de composants sont généralement stockés dans le C:\WINNT\Assembly dossier .

Remarque

Installez un assembly dans le Global Assembly Cache uniquement lorsque vous devez partager l’assembly. Sauf si le partage d’un assembly est explicitement requis, nous vous recommandons de conserver les dépendances d’assembly privées et de localiser l’assembly dans le répertoire de l’application. En outre, vous n’avez pas besoin d’installer un assembly dans le Global Assembly Cache pour rendre l’assembly disponible pour l’interopérabilité com (Microsoft Component Object Model) ou pour le code non managé.

Un assembly

Un assembly est un élément fondamental de la programmation avec le .NET Framework. Un assembly est un bloc de construction réutilisable et auto-décrivant une application du Common Language Runtime .NET Framework.

Un assembly contient un ou plusieurs composants de code exécutés par le Common Language Runtime. Tous les types et toutes les ressources du même assembly forment une version individuelle de l’unité. Le manifeste d’assembly décrit les dépendances de version que vous spécifiez pour tous les assemblys dépendants. À l’aide d’un assembly, vous pouvez spécifier des règles de version entre différents composants logiciels, et ces règles peuvent être appliquées au moment de l’exécution. Un assembly prend en charge l’exécution côte à côte. WHich permet à plusieurs versions de s’exécuter en même temps.

Signature de nom fort

Un assembly doit avoir un nom fort pour être installé dans le Global Assembly Cache. Un nom fort est une identité globale unique qui ne peut pas être usurpée par quelqu’un d’autre. En utilisant un nom fort, vous empêchez les composants portant le même nom d’entrer en conflit les uns avec les autres ou d’être utilisés de manière incorrecte par une application appelante. La signature d’assembly associe un nom fort à un assembly. La signature d’assembly est également nommée signature de nom fort. Un nom fort se compose des informations suivantes :

  • Nom texte simple de l’assembly
  • Numéro de version de l’assembly
  • Informations de culture sur l’assembly, si ces informations sont fournies
  • Une paire clé publique et clé privée

Ces informations sont stockées dans un fichier de clé. Le fichier de clé est un fichier d’échange d’informations personnelles (.pfx) ou un certificat du magasin de certificats Microsoft Windows de l’utilisateur actuel.

Vous pouvez signer un assembly à l’aide des options de l’onglet Signature du projet Designer dans Visual Studio. Dans Visual Studio, le fichier de clé doit être stocké dans le dossier du projet sur l’ordinateur local. Visual Studio prend uniquement en charge les formats de fichier suivants :

  • Fichiers d’échange d’informations personnelles (.pfx)
  • Fichiers de clé de nom fort (.snk)

Configuration requise

Vous pouvez satisfaire aux exigences suivantes avant d’installer un assembly dans le Global Assembly Cache :

  • Vous devez disposer de droits d’administrateur sur l’ordinateur sur lequel l’assembly partagé est installé.
  • Vous devez installer le Kit de développement logiciel (SDK) .NET Framework.

Cet article suppose que vous êtes familiarisé avec les rubriques suivantes :

  • Connaissance générale des assemblys partagés dans .NET.
  • Connaissance générale de l’utilisation des outils à une invite de commandes.

Installer un assembly dans le Global Assembly Cache

Cette méthode est basée sur la création d’un assembly à l’aide de Visual Studio. Pour créer un assembly qui peut être partagé par plusieurs applications, l’assembly partagé doit avoir un nom fort. En outre, l’assembly partagé doit être déployé dans le Global Assembly Cache.

Pour créer un petit assembly Visual C# avec un nom fort et installer le fichier .dll compilé dans le Global Assembly Cache, procédez comme suit :

  1. Créez un projet de bibliothèque de classes Visual C# nommé GACDemo. Pour ce faire, procédez comme suit :

    1. Démarrez Visual Studio.
    2. Dans le menu Fichier , sélectionnez Nouveau projet.
    3. Dans la liste Modèles , sélectionnez Bibliothèque de classes.
    4. Dans la zone Nom , tapez GACDemo, puis sélectionnez OK.
    5. Pour enregistrer le projet, appuyez sur Ctrl+Maj+S.
    6. Dans la zone Emplacement , tapez C:\DemoProjects.
    7. Décochez la zone Créer un répertoire pour la solution case activée, puis sélectionnez Enregistrer.
  2. Générez un nom fort, puis associez le fichier de clé de nom fort à l’assembly. Pour ce faire, procédez comme suit :

    1. Dans le menu Projet , sélectionnez GACDemo Properties( Propriétés GACDemo).

    2. Sous l'onglet Signature, activez la case à cocher Signer l'assembly.

    3. Sous Choisir un fichier de clé de nom fort, sélectionnez <Nouveau>.

    4. Dans la boîte de dialogue Créer une clé de nom fort, sélectionnez la zone Protéger mon fichier de clé avec un mot de passe case activée.

    5. Dans la zone Nom du fichier de clé , tapez GACDemo.

    6. Dans la zone Entrer le mot de passe , tapez le mot de passe que vous souhaitez utiliser.

    7. Dans la zone Confirmer le mot de passe , tapez le même mot de passe, puis sélectionnez OK.

      Remarque

      Nous vous recommandons de toujours utiliser un mot de passe lorsque vous créez un fichier de clé. Un nouveau fichier de clé protégé par un mot de passe est toujours créé au format de fichier .pfx.

    8. Pour compiler le projet, appuyez sur Ctrl+Maj+B.

      Remarque

      Aucun code supplémentaire n’est nécessaire pour installer un fichier .dll dans le Global Assembly Cache.

  3. Installez le fichier .dll que vous avez créé à l’étape 2 du Global Assembly Cache à l’aide de l’outil Global Assembly Cache. Pour ce faire, procédez comme suit :

    1. Sélectionnez Démarrer, Exécuter, tapez cmd, puis sélectionnez OK.
    2. Remplacez le répertoire de travail actuel par le répertoire dans lequel le SDK .NET Framework est installé.
    3. À l’invite de commandes, tapez la gacutil -I "C:\DemoProjects\GACDemo\bin\Release\GACDemo.dll" commande, puis appuyez sur Entrée.

Vérifier que l’assembly est installé dans le Global Assembly Cache

Vous pouvez utiliser l’outil Global Assembly Cache pour vérifier que l’assembly est installé dans le Global Assembly Cache. Pour ce faire, procédez comme suit :

  1. Sélectionnez Démarrer, Exécuter, tapez cmd, puis sélectionnez OK.

  2. Remplacez le répertoire de travail actuel par le répertoire dans lequel le SDK .NET Framework est installé.

  3. Pour afficher les informations d’installation sur l’assembly GACDemo, utilisez l’outil Global Assembly Cache. Pour ce faire, tapez la gacutil -l GACDemo commande à une invite de commandes, puis appuyez sur Entrée.

    Remarque

    Les informations d’installation sur l’assembly GACDemo s’affichent.

References