.net List Loaded Assemblies

3 min read Jun 04, 2024
.net List Loaded Assemblies

Liste des assemblys chargés dans .NET

Introduction

En programmation .NET, la compréhension des assemblys chargés est essentielle pour le débogage, l'analyse des performances et la gestion des dépendances. Un assembly est une unité de déploiement et de réutilisation du code qui contient des types, des ressources et des métadonnées. Lorsque vous exécutez une application .NET, plusieurs assemblys sont chargés en mémoire, incluant ceux de votre code, des bibliothèques externes et du framework .NET lui-même.

Obtenir la liste des assemblys chargés

Pour obtenir la liste des assemblys chargés dans votre application .NET, vous pouvez utiliser la classe System.Reflection.Assembly. Cette classe fournit des méthodes pour interroger les assemblys chargés, comme GetExecutingAssembly() et GetAssemblies().

Exemple de code:

using System;
using System.Reflection;

public class Program
{
    public static void Main(string[] args)
    {
        // Obtenir l'assembly en cours d'exécution.
        Assembly executingAssembly = Assembly.GetExecutingAssembly();

        // Obtenir la liste de tous les assemblys chargés.
        Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();

        Console.WriteLine("Assembly en cours d'exécution : " + executingAssembly.FullName);
        Console.WriteLine("Assemblies chargés :");
        foreach (Assembly assembly in loadedAssemblies)
        {
            Console.WriteLine(assembly.FullName);
        }
    }
}

Ce code affiche l'assembly en cours d'exécution et tous les assemblys chargés dans l'application.

Informations sur les assemblys

Une fois que vous avez la liste des assemblys chargés, vous pouvez obtenir des informations supplémentaires sur chaque assembly, comme :

  • Nom complet : FullName
  • Nom simple : Name
  • Version : GetName().Version
  • Chemin du fichier : Location
  • Types définis : GetTypes()

Exemple de code:

using System;
using System.Reflection;

public class Program
{
    public static void Main(string[] args)
    {
        // Obtenir la liste de tous les assemblys chargés.
        Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();

        foreach (Assembly assembly in loadedAssemblies)
        {
            Console.WriteLine("Nom complet : " + assembly.FullName);
            Console.WriteLine("Nom simple : " + assembly.GetName().Name);
            Console.WriteLine("Version : " + assembly.GetName().Version);
            Console.WriteLine("Chemin du fichier : " + assembly.Location);
            Console.WriteLine("Types définis :");
            foreach (Type type in assembly.GetTypes())
            {
                Console.WriteLine("  " + type.FullName);
            }
            Console.WriteLine();
        }
    }
}

Conclusion

Comprendre les assemblys chargés dans .NET vous permet de mieux comprendre le fonctionnement de votre application et de déboguer plus efficacement. La classe System.Reflection.Assembly vous fournit les outils nécessaires pour interroger les assemblys chargés et obtenir des informations détaillées sur eux.

Featured Posts