using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using ResourceMonitorService; using System.IO; IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((context, config) => { config.SetBasePath(Directory.GetCurrentDirectory()); config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); }) .ConfigureServices((hostContext, services) => { services.AddHostedService(); // Configure other services here }); var hostBuilder = CreateHostBuilder(args); // Check for a command-line argument or environment variable to determine if running as a Windows Service if (args.Contains("--windows-service") || Environment.GetEnvironmentVariable("RUN_AS_SERVICE") == "true") { hostBuilder.UseWindowsService(); } var host = hostBuilder.Build(); await host.RunAsync();