using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.DependencyInjection; using Xunit; using Xunit.Sdk; using Xunit.Abstractions; using Xunit.Extensions; using Xunit.DependencyInjection; using Xunit.DependencyInjection.Logging; namespace OptionsPattern.Sutdy.Advanced { public class Startup { /// /// 配置主机方法 /// 内部可以配置 IConfiguration /// public void ConfigureHost(IHostBuilder hostBuilder) { //设置主机配置 hostBuilder.ConfigureHostConfiguration(builder => { }); //设置应用配置 hostBuilder.ConfigureAppConfiguration((context, builder) => { builder .AddEnvironmentVariables() .AddJsonFile("Configs/appsettings.json",false,true) .AddJsonFile($"Configs/appsettings.{context.HostingEnvironment.EnvironmentName}.json",true,true) .Build() ; }); } /// /// 配置服务方法 /// 注入或用途 IConfiguration IHostEnvironment 请使用 context.xx; /// public void ConfigureServices(IServiceCollection services, HostBuilderContext context) { } /// /// 将 Microsoft.Extensions.Logging 写入 ITestOutputHelper /// public void Configure(ILoggerFactory loggerFactory, ITestOutputHelperAccessor accessor) { loggerFactory.AddProvider(new XunitTestOutputLoggerProvider(accessor)); } } }