It's just:
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
var settings = new HostApplicationBuilderSettings() { Args = args };
var builder = Host.CreateEmptyApplicationBuilder( settings );
builder.Configuration
.SetBasePath(AppContext.BaseDirectory)
.AddJsonFile("appsettings.json");
builder.Services.AddTransient<AppRunner>();
builder.Logging.AddConsole();
builder.Logging.SetMinimumLevel(LogLevel.Trace);
var app = builder.Build();
//app.Run();
var runner = app.Services.GetRequiredService<AppRunner>();
runner.Run();
public class AppRunner( ILogger<AppRunner> logger, IConfiguration cfg)
{
public void Run()
{
var foo = cfg["Foo"];
logger.LogDebug($"Hello world {foo}");
}
}
with simple appsettings.json:
{
"Foo": "Bar"
}