// See https://aka.ms/new-console-template for more information using Autofac; using Autofac.Core; using AutofacSerilogIntegration; using CommandLine; using GameData; using GameData.Dummy; using GameData.Repository; using GameHandler; using GameHandler.DeathGame; using GameHandler.Extensions; using GameModel; using GameModel.Contract; using GameModel.Contracts; using GameModel.DeathGame; using GameModel.Settings; using KoogleCli.Model; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Serilog; using Spectre.Console; using Spectre.Console.Json; using static System.Runtime.InteropServices.JavaScript.JSType; const string RootLifetimeTag = "MyIsolatedRoot"; AnsiConsole.MarkupLine("Welcome to [green]koogle[/]"); var container = Register(); //var serviceCollection = new ServiceCollection(); //serviceCollection.AddLogging(); var loggerFactory = container.Resolve(); loggerFactory.AddSerilog(); var scope = container.BeginLifetimeScope(RootLifetimeTag, b => { //b.Populate(serviceCollection, RootLifetimeTag); }); Autofac.IContainer Register() { var builder = new ContainerBuilder(); RegisterAppsettings(builder); RegisterLogging(builder); builder.RegisterType(); builder.RegisterType().As().InstancePerLifetimeScope(); builder.RegisterType().As().InstancePerLifetimeScope(); return builder.Build(); } ShowMainMenu(); async Task ShowMainMenu() { do { var option = AnsiConsole.Prompt( new SelectionPrompt