using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Publication.Repositories; using Publication.Repositories.Implementations; using Serilog; using Unity; using Unity.Lifetime; using Unity.Microsoft.Logging; namespace Publication { internal static class Program { /// /// The main entry point for the application. /// [STAThread] static void Main() { // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); Application.Run(CreateContainer().Resolve()); } private static IUnityContainer CreateContainer() { var container = new UnityContainer(); container.AddExtension(new LoggingExtension(CreateLoggerFactory())); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); return container; } private static LoggerFactory CreateLoggerFactory() { var loggerFactory = new LoggerFactory(); loggerFactory.AddSerilog(new LoggerConfiguration() .ReadFrom.Configuration(new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("C:\\Users\\Ctepa\\source\\repos\\PIbd-21_Chechevitsyn_S.A_Simple\\Publication\\application.json") .Build()) .CreateLogger()); return loggerFactory; } } }