.net Core Get All Loaded Assemblies

3 min read Jun 03, 2024
.net Core Get All Loaded Assemblies

Obtenir tous les assemblys chargés dans .NET Core

Dans le développement .NET Core, il est parfois nécessaire d'obtenir une liste de tous les assemblys qui sont actuellement chargés dans le processus en cours d'exécution. Cela peut être utile pour des tâches comme :

  • Débogage : Identifier les assemblys qui sont chargés et leur version.
  • Analyse : Obtenir des informations sur les dépendances d'une application.
  • Sécurité : Vérifier si des assemblys potentiellement malveillants sont chargés.

Utiliser la classe AppDomain

La classe AppDomain dans .NET Core fournit une méthode GetAssemblies() qui renvoie une collection de tous les assemblys chargés dans le domaine d'application actuel. Voici un exemple de code pour obtenir tous les assemblys chargés :

using System;
using System.Linq;

public class AssemblyLister
{
    public static void Main(string[] args)
    {
        // Obtenir tous les assemblys chargés
        var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();

        // Afficher les noms des assemblys
        Console.WriteLine("Assemblys chargés :");
        foreach (var assembly in loadedAssemblies)
        {
            Console.WriteLine(assembly.FullName);
        }
    }
}

Filtrer les assemblys chargés

Vous pouvez utiliser des méthodes de LINQ pour filtrer la collection d'assemblys chargés en fonction de critères spécifiques. Par exemple, pour obtenir uniquement les assemblys qui ont un nom commençant par "System", vous pouvez utiliser le code suivant :

// Filtrer les assemblys commençant par "System"
var systemAssemblies = loadedAssemblies.Where(assembly => assembly.FullName.StartsWith("System"));

Remarques importantes

  • La méthode GetAssemblies() renvoie une collection d'assemblys qui sont actuellement chargés dans le domaine d'application.
  • Les assemblys chargés peuvent varier en fonction de l'environnement d'exécution et des dépendances de l'application.
  • Il est important de noter que la méthode GetAssemblies() ne renvoie pas les assemblys qui sont chargés de manière dynamique à l'aide de méthodes comme Assembly.LoadFile() ou Assembly.LoadFrom().

Conclusion

Obtenir tous les assemblys chargés dans .NET Core est une tâche courante qui peut être réalisée à l'aide de la classe AppDomain et des méthodes de LINQ. Cette information peut être utile pour le débogage, l'analyse et la sécurité des applications.

N'oubliez pas que l'utilisation de ces techniques peut varier en fonction de l'environnement d'exécution et des dépendances de votre application.

Related Post


Featured Posts