Comment obtenir toutes les assemblys référencées dans .NET Core
L'obtention de la liste de toutes les assemblys référencées dans un projet .NET Core peut être utile pour différentes raisons, comme l'analyse des dépendances, la compréhension de la structure du projet ou la création d'outils d'analyse personnalisés. Dans cet article, nous allons explorer différentes manières d'accomplir cela.
1. Utilisation de la classe Assembly.GetReferencedAssemblies()
La méthode GetReferencedAssemblies()
de la classe Assembly
permet de récupérer une collection de références d'assembly à partir d'un assembly donné. Cette méthode est disponible dans le framework .NET et est donc utilisable dans les projets .NET Core.
using System.Reflection;
// Obtenir l'assembly courant
Assembly currentAssembly = Assembly.GetExecutingAssembly();
// Récupérer les assemblys référencés
AssemblyName[] referencedAssemblies = currentAssembly.GetReferencedAssemblies();
// Afficher la liste des assemblys référencés
foreach (AssemblyName assemblyName in referencedAssemblies)
{
Console.WriteLine(assemblyName.FullName);
}
2. Inspection du fichier project.assets.json
Le fichier project.assets.json
généré par le système de gestion de paquets .NET (NuGet) contient une liste complète de toutes les dépendances du projet, y compris les assemblys référencés. Vous pouvez analyser ce fichier pour obtenir des informations sur les assemblys référencés.
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
// Lire le fichier project.assets.json
string json = File.ReadAllText("project.assets.json");
// Désérialiser le contenu JSON
JObject jsonObject = JObject.Parse(json);
// Extraire la liste des assemblys référencés
JArray dependencies = (JArray)jsonObject["project"]["dependencies"];
// Afficher la liste des assemblys référencés
foreach (JToken dependency in dependencies)
{
Console.WriteLine(dependency["name"]);
}
3. Utilisation d'outils de ligne de commande
Des outils de ligne de commande comme dotnet list reference
ou dotnet restore
peuvent être utilisés pour obtenir des informations sur les assemblys référencés.
# Afficher la liste des assemblys référencés
dotnet list reference
# Restaurer les paquets et obtenir les assemblys référencés
dotnet restore
Conclusion
En utilisant ces différentes approches, vous pouvez obtenir facilement la liste des assemblys référencés dans un projet .NET Core. Choisissez la méthode qui correspond le mieux à vos besoins et à votre environnement de développement. N'oubliez pas de tester votre code pour vous assurer qu'il fonctionne correctement et qu'il répond aux exigences de votre projet.
Mots-clés: .NET Core, Assembly, Références d'assemblies, project.assets.json, dotnet list reference, dotnet restore