/// <summary> /// .NET Core 3.0 disables IStartup and multiple Configure* entry points on Startup class requiring the use of a /// clean ModularStartupActivator adapter class for implementing https://docs.servicestack.net/modular-startup /// </summary> public static IWebHostBuilder UseModularStartup <TStartup>(this IWebHostBuilder hostBuilder) where TStartup : class { return(hostBuilder // UserSecrets not loaded when using surrogate startup class, load explicitly from TStartup.Assembly .ConfigureAppConfiguration((ctx, config) => config.AddUserSecrets(typeof(TStartup).GetTypeInfo().Assembly, optional: true)) .UseStartup(ModularStartup.Create <TStartup>())); }
public static IWebHostBuilder UseModularStartup <TStartup>(this IWebHostBuilder hostBuilder) where TStartup : class { return(hostBuilder.UseStartup(ModularStartup.Create <TStartup>())); }