Assemblys et le Global Assembly Cache (C# et Visual Basic)

Les assemblys constituent l'unité fondamentale de déploiement, le contrôle des versions, la réutilisation, la portée d'activation et les autorisations de sécurité d'une application .NET. Les assemblys se présentent sous la forme d'un fichier exécutable (.exe) ou d'un fichier de bibliothèque de liens dynamiques (.dll), et constituent les blocs de construction du .NET Framework. Ils fournissent le Common Language Runtime ainsi que les informations nécessaires à la reconnaissance des implémentations des types. Un assembly ressemble à une collection de types et de ressources qui forment une unité de fonctionnalité logique et sont conçus pour fonctionner ensemble.

Les assemblys peuvent contenir un ou plusieurs modules. Par exemple, les projets les plus volumineux peuvent être planifiés de telle sorte que plusieurs développeurs individuels travaillent sur des modules séparés qui, rassemblés, formeront un seul et même assembly. Pour plus d'informations sur les modules, consultez la rubrique « Comment : générer un assembly multifichier ».

Les assemblys ont les propriétés suivantes :

  • Les assemblys sont implémentés sous forme de fichiers .exe ou .dll.

  • Vous pouvez partager un assembly entre des applications en le plaçant dans le Global Assembly Cache. Les assemblys doivent être dotés d'un nom fort pour pouvoir être inclus dans le Global Assembly Cache. Pour plus d'informations, consultez Assemblys avec nom fort.

  • Les assemblys sont chargés en mémoire uniquement s'ils sont requis. S'ils ne sont pas utilisés, ils ne sont pas chargés. Cela signifie que les assemblys peuvent être un moyen efficace de gérer les ressources sur les grands projets.

  • Vous pouvez obtenir par programme des informations sur un assembly à l'aide de la réflexion. Pour plus d'informations, consultez Réflexion.

  • Si vous souhaitez charger un assembly uniquement pour l'inspecter, utilisez une méthode telle que ReflectionOnlyLoadFrom.

Manifeste d'assembly

Tous les assemblys contiennent un manifeste d'assembly. Semblable à un sommaire, le manifeste d'assembly contient les éléments suivants :

  • L'identité de l'assembly (nom et version).

  • Table de fichiers décrivant tous les autres fichiers qui constituent l'assembly, par exemple, tous les autres assemblys créés pour vos fichiers .exe ou .dll, voire des fichiers bitmap ou Readme.

  • Liste de référence de l'assembly, qui est une liste de toutes les dépendances externes (fichiers .dll ou autres nécessaires à votre application, mais qui ont peut-être été créés par une autre personne). Les références de l'assembly contiennent des références aux objets globaux et privés. Les objets globaux résident dans le Global Assembly Cache, une zone disponible pour les applications tierces, qui est comparable au répertoire System32. L'espace de noms Microsoft.VisualBasic est un exemple d'assembly dans le Global Assembly Cache. Les objets privés doivent se trouver dans un répertoire situé au même niveau ou à un niveau inférieur au répertoire d'installation de votre application.

Étant donné que les assemblys contiennent des informations sur le contenu, le contrôle de version et les dépendances, les applications créées avec Visual Basic et C# n'ont pas besoin des valeurs de Registre pour fonctionner correctement. Les assemblys permettent de réduire les conflits de fichiers .dll et rendent vos applications plus fiables et plus faciles à déployer. Dans la plupart des cas, vous pouvez installer une application .NET en copiant simplement ses fichiers sur l'ordinateur cible.

Pour plus d'informations, consultez Manifeste d'assembly.

Ajout d'une référence à un assembly

Pour utiliser un assembly, vous devez ajouter une référence à celui-ci, comme décrit dans Comment : ajouter ou supprimer des références dans Visual Studio. Vous pouvez ensuite utiliser l'instruction Imports en Visual Basic ou la directive using en C# pour choisir l'espace de noms des éléments que vous souhaitez utiliser. Une fois qu'un assembly est référencé et importé, toutes les classes, les propriétés, les méthodes et les autres membres accessibles de ses espaces de noms sont disponibles dans votre application comme si leur code faisait partie de votre fichier source.

En C#, vous pouvez également employer deux versions du même assembly dans une même application. Pour plus d'informations, consultez extern alias.

Création d'un assembly

Compilez votre application en cliquant sur Générer dans le menu Générer ou en générant celle-ci à partir de la ligne de commande via le compilateur de ligne de commande. Pour plus d'informations sur la génération d'assemblys à partir de la ligne de commande, consultez Génération à partir de la ligne de commande (Visual Basic) pour Visual Basic et Génération à partir de la ligne de commande avec csc.exe pour C#.

Voir aussi

Tâches

Comment : partager un assembly avec d'autres applications (C# et Visual Basic)

Comment : charger et décharger des assemblys (C# et Visual Basic)

Comment : déterminer si un fichier est un assembly (C# et Visual Basic)

Comment : créer et utiliser des assemblys à l'aide de la ligne de commande (C# et Visual Basic)

Procédure pas à pas : incorporation de types provenant d'assemblys managés (C# et Visual Basic)

Concepts

Guide de programmation C#

Assemblys dans le Common Language Runtime

Assemblys friend (C# et Visual Basic)

Autres ressources

Guide de programmation Visual Basic

Procédure pas à pas : incorporation d'informations de type provenant d'assemblys Microsoft Office (C# et Visual Basic)