Utiliser les fichiers appsettings dans une application console .NET 6
Introduction
Les applications console .NET 6, tout comme les applications web, peuvent utiliser des fichiers appsettings pour gérer la configuration de l'application. Cela permet de séparer le code de la configuration, rendant le code plus flexible et plus facile à maintenir. Dans ce guide, nous allons explorer comment utiliser les fichiers appsettings dans une application console .NET 6.
Créer un projet d'application console
Commencez par créer un nouveau projet d'application console .NET 6. Vous pouvez utiliser Visual Studio ou l'interface de ligne de commande :
dotnet new console -o MyConsoleApp
Configurer les fichiers appsettings
Par défaut, .NET 6 utilise le fichier appsettings.json
pour la configuration. Ce fichier est situé dans le répertoire racine du projet. Vous pouvez créer un fichier appsettings.json
et y ajouter les paramètres souhaités, comme ceci:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySettings": {
"ConnectionString": "Server=localhost;Database=MyDatabase;User Id=sa;Password=P@ssw0rd",
"ApiKey": "YOUR_API_KEY"
}
}
Important: Vous pouvez créer des fichiers de configuration supplémentaires pour des environnements spécifiques, comme appsettings.Development.json
, appsettings.Production.json
, etc. Ces fichiers seront chargés en priorité si l'environnement correspondant est activé.
Accéder aux paramètres de configuration
Pour accéder aux paramètres de configuration dans votre application console, vous devez injecter le service IConfiguration
dans votre classe de programme.
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
namespace MyConsoleApp
{
public class Program
{
public static void Main(string[] args)
{
// Création d'un host pour gérer la configuration
var host = Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostContext, config) =>
{
// Chargement des fichiers appsettings
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
config.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", optional: true, reloadOnChange: true);
})
.Build();
// Récupération du service IConfiguration
var config = host.Services.GetRequiredService();
// Accès aux paramètres de configuration
var connectionString = config.GetValue("MySettings:ConnectionString");
var apiKey = config.GetValue("MySettings:ApiKey");
// Utilisation des paramètres
Console.WriteLine($"Connection string: {connectionString}");
Console.WriteLine($"API Key: {apiKey}");
host.Run();
}
}
}
Conclusion
L'utilisation des fichiers appsettings dans une application console .NET 6 simplifie la gestion de la configuration et améliore la modularité du code. En séparant la configuration du code, vous pouvez facilement adapter votre application à différents environnements sans modifier le code source. N'hésitez pas à utiliser cette technique pour tous vos projets .NET 6.