private static void RegisterConfigurationSettings(ContainerBuilder builder, AppSettingsRoot appSettingsRoot) { new[] { appSettingsRoot } .Cast <IConfigurationSetting>() .DepthFirst(ExtractSettingsObjects) .Do(setting => builder.RegisterInstance(setting) .AsSelf() .ExternallyOwned()) .Done(); }
public static IContainer LetThereBeIoC(IServiceCollection services, AppSettingsRoot appSettingsRoot) { var assembliesToScan = new[] { typeof(IoC).Assembly }; var builder = new ContainerBuilder(); builder.Populate(services); builder.RegisterAssemblyModules(assembliesToScan); RegisterConfigurationSettings(builder, appSettingsRoot); // TODO use ConfigInjector return(builder.Build()); }
public AppSettingReader() { var filePath = Path.Combine(Directory.GetCurrentDirectory(), FileName); try { var json = File.ReadAllText(filePath); _settings = JsonConvert.DeserializeObject <AppSettingsRoot>(json); } catch (Exception e) { throw new Exception($"Failed to read app settings from file ({filePath}).", e); } }
public static void Bootstrap(string[] args, out IConfiguration configuration, out AppSettingsRoot appSettingsRoot) { configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .AddEnvironmentVariables() .AddCommandLine(args) .Build(); appSettingsRoot = configuration.Get <AppSettingsRoot>(); }