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; } }