Files
123123/ZA.CoreService.ESBCertificateManager/Configuration/AppSettingsLoader.cs
T

35 lines
1.1 KiB
C#

using Microsoft.Extensions.Configuration;
using ZA.CoreService.ESBCertificateManager.Models;
namespace ZA.CoreService.ESBCertificateManager.Configuration;
public static class AppSettingsLoader
{
public static AppSettings Load()
{
// Zuerst Output-Verzeichnis, dann aktuelles Arbeitsverzeichnis (z.B. VS Debug).
string basePath = Directory.Exists(AppContext.BaseDirectory)
? AppContext.BaseDirectory
: Directory.GetCurrentDirectory();
string settingsPath = Path.Combine(basePath, "appsettings.json");
if (!File.Exists(settingsPath))
{
string cwdPath = Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json");
if (File.Exists(cwdPath))
{
basePath = Directory.GetCurrentDirectory();
}
}
IConfigurationRoot configuration = new ConfigurationBuilder()
.SetBasePath(basePath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false)
.Build();
AppSettings settings = new();
configuration.Bind(settings);
return settings;
}
}