using System; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.IO; using LetsEncrypt.Helpers; using LetsEncrypt.Services; namespace LetsEncrypt { class Program { public IConfiguration Configuration { get; } static void Main(string[] args) { // create service collection var services = new ServiceCollection(); ConfigureServices(services); // create service provider var serviceProvider = services.BuildServiceProvider(); // entry to run app serviceProvider.GetService().Run(); } public static void ConfigureServices(IServiceCollection services) { // build configuration IConfiguration Configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", false) .Build(); // configure strongly typed settings objects var appSettingsSection = Configuration.GetSection("AppSettings"); services.Configure(appSettingsSection); // Dependency Injection services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); // add app services.AddTransient(); } } }