static Program() { var services = new ServiceCollection(); services .AddLogging() .AddRpcCore() .AddClientProxy(); var provider = services.BuildServiceProvider(); var loggerFactory = provider.GetRequiredService <ILoggerFactory>(); //loggerFactory // .AddConsole(); Logger = loggerFactory.CreateLogger <Program>(); ServiceProxyGenerater = provider.GetRequiredService <IServiceProxyGenerater>(); AssemblyFiles = Directory.GetFiles(Path.Combine(AppContext.BaseDirectory, "assemblies"), "*.dll").ToArray(); Assemblies = AssemblyFiles.Select(i => { using (var stream = File.OpenRead(i)) { return(AssemblyLoadContext.Default.LoadFromStream(stream)); } }).ToArray(); Console.WriteLine("Successfully loaded the following assemblies"); foreach (var name in Assemblies.Select(i => i.GetName().Name)) { Console.WriteLine(name); } }
static Program() { var services = new ServiceCollection(); services .AddLogging() .AddRpcCore() .AddClientProxy(); var provider = services.BuildServiceProvider(); var loggerFactory = provider.GetRequiredService<ILoggerFactory>(); loggerFactory .AddConsole(); Logger = loggerFactory.CreateLogger<Program>(); ServiceProxyGenerater = provider.GetRequiredService<IServiceProxyGenerater>(); AssemblyFiles = Directory.GetFiles(Path.Combine(AppContext.BaseDirectory, "assemblies"), "*.dll").ToArray(); Assemblies = AssemblyFiles.Select(i => { using (var stream = File.OpenRead(i)) { return AssemblyLoadContext.Default.LoadFromStream(stream); } }).ToArray(); Console.WriteLine("Successfully loaded the following assemblies"); foreach (var name in Assemblies.Select(i => i.GetName().Name)) { Console.WriteLine(name); } }