123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using System.Reflection;
- using HZY.Framework.DependencyInjection;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Logging;
- using NLog;
- using NLog.Extensions.Logging;
- namespace Scada
- {
- internal static class Program
- {
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main()
- {
-
- var services = new ServiceCollection();
- ConfigureServices(services);
- ApplicationConfiguration.Initialize();
- var serviceProvider = services.BuildServiceProvider();
- Globals.ServiceProvider = serviceProvider;
- var frmMain = serviceProvider.GetRequiredService<FormMain>();
-
- Application.Run(frmMain);
- }
- private static void ConfigureServices(ServiceCollection services)
- {
- services.AddDependencyInjection(options =>
- {
- options.Assemblies = new[] { typeof(Program).Assembly };
- });
- IConfigurationBuilder cfgBuilder = new ConfigurationBuilder()
- .SetBasePath(Environment.CurrentDirectory)
- .AddJsonFile("appsettings.json");
- //构建json配置
- IConfiguration configuration = cfgBuilder.Build();
- //注入json单例对象
- services.AddSingleton<IConfiguration>(configuration)
- .AddLogging(loggerBuilder => {
- loggerBuilder.ClearProviders();//清除其他日志的提供者
- loggerBuilder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);//设置等级
- loggerBuilder.AddNLog();
- });
- //获取NLog配置信息
- var nlogConifg = configuration.GetSection("NLog");
- //设置Nlog配置
- LogManager.Configuration = new NLogLoggingConfiguration(nlogConifg);
- }
- }
- }
|