Obtenir le nom du projet actuel dans .NET Core
Obtenir le nom du projet actuel dans votre application .NET Core peut être utile dans de nombreux scénarios, tels que la journalisation, la configuration ou la génération de noms de fichiers. Heureusement, .NET Core fournit plusieurs méthodes pour obtenir cette information.
Méthode 1 : Utilisation de AppContext.BaseDirectory
La propriété AppContext.BaseDirectory
renvoie le chemin du répertoire de base de l'application. Vous pouvez ensuite extraire le nom du projet de ce chemin.
using System;
public class Example
{
public static void Main(string[] args)
{
// Obtenir le chemin du répertoire de base de l'application
string basePath = AppContext.BaseDirectory;
// Extraire le nom du projet du chemin
string projectName = basePath.Split(System.IO.Path.DirectorySeparatorChar).Last();
// Afficher le nom du projet
Console.WriteLine($"Nom du projet : {projectName}");
}
}
Méthode 2 : Utilisation de Assembly.GetEntryAssembly()
L'objet Assembly
représente un assembly .NET. Vous pouvez obtenir l'assembly d'entrée de l'application à l'aide de la méthode Assembly.GetEntryAssembly()
. La propriété GetName()
de cet assembly vous permettra d'accéder au nom du projet.
using System;
using System.Reflection;
public class Example
{
public static void Main(string[] args)
{
// Obtenir l'assembly d'entrée de l'application
Assembly entryAssembly = Assembly.GetEntryAssembly();
// Obtenir le nom du projet de l'assembly
string projectName = entryAssembly.GetName().Name;
// Afficher le nom du projet
Console.WriteLine($"Nom du projet : {projectName}");
}
}
Méthode 3 : Utilisation de Environment.GetCommandLineArgs()
La méthode Environment.GetCommandLineArgs()
renvoie un tableau de chaînes représentant les arguments de la ligne de commande passés à l'application. Le premier argument est généralement le chemin complet de l'exécutable de l'application. Vous pouvez utiliser cette information pour extraire le nom du projet.
using System;
using System.IO;
public class Example
{
public static void Main(string[] args)
{
// Obtenir le chemin de l'exécutable de l'application
string executablePath = Environment.GetCommandLineArgs()[0];
// Extraire le nom du projet du chemin
string projectName = Path.GetFileNameWithoutExtension(executablePath);
// Afficher le nom du projet
Console.WriteLine($"Nom du projet : {projectName}");
}
}
Choisissez la méthode qui convient le mieux à vos besoins. N'hésitez pas à adapter ces exemples à votre propre application.