@@ -14,11 +14,11 @@ namespace OSharp.Wpf.Stylet;
1414
1515public abstract class ServiceProviderBootstrapper < TRootViewModel > : BootstrapperBase where TRootViewModel : class
1616{
17- private IHostBuilder _hostBuilder ;
17+ private HostApplicationBuilder _hostBuilder ;
1818 private IHost _host ;
1919 private readonly CancellationTokenSource _cancellationTokenSource = new ( ) ;
2020 private TRootViewModel _rootViewModel ;
21- protected virtual TRootViewModel RootViewModel => this . _rootViewModel ??= ( TRootViewModel ) this . GetInstance ( typeof ( TRootViewModel ) ) ;
21+ protected virtual TRootViewModel RootViewModel => _rootViewModel ??= ( TRootViewModel ) GetInstance ( typeof ( TRootViewModel ) ) ;
2222
2323 protected IServiceProvider ServiceProvider { get ; private set ; }
2424
@@ -27,20 +27,20 @@ public abstract class ServiceProviderBootstrapper<TRootViewModel> : Bootstrapper
2727 /// </summary>
2828 protected override void OnStart ( )
2929 {
30- _hostBuilder = Host . CreateDefaultBuilder ( ) ;
30+ _hostBuilder = Host . CreateApplicationBuilder ( ) ;
31+ _hostBuilder . Environment . EnvironmentName = Environment . GetEnvironmentVariable ( "ASPNETCORE_ENVIRONMENT" )
32+ ?? Environment . GetEnvironmentVariable ( "DOTNET_ENVIRONMENT" ) ?? "Production" ;
3133 }
3234
3335 /// <summary>
3436 /// Overridden from BootstrapperBase, this sets up the IoC container
3537 /// </summary>
3638 protected override void ConfigureBootstrapper ( )
3739 {
38- _hostBuilder . ConfigureServices ( ( context , services ) =>
39- {
40- services . AddSingleton ( context ) ;
41- DefaultConfigureIoC ( services ) ;
42- ConfigureIoC ( services ) ;
43- } ) ;
40+ _hostBuilder . Services . AddSingleton < IHostApplicationBuilder > ( _hostBuilder ) ;
41+ DefaultConfigureIoC ( _hostBuilder . Services ) ;
42+ ConfigureIoC ( _hostBuilder . Services ) ;
43+
4444 _host = _hostBuilder . Build ( ) ;
4545 ServiceProvider = _host . Services ;
4646 _host . StartAsync ( _cancellationTokenSource . Token ) . GetAwaiter ( ) . GetResult ( ) ;
@@ -53,8 +53,8 @@ protected virtual void DefaultConfigureIoC(IServiceCollection services)
5353 {
5454 var viewManagerConfig = new ViewManagerConfig ( )
5555 {
56- ViewFactory = this . GetInstance ,
57- ViewAssemblies = new List < Assembly > ( ) { this . GetType ( ) . Assembly }
56+ ViewFactory = GetInstance ,
57+ ViewAssemblies = [ GetType ( ) . Assembly ]
5858 } ;
5959
6060 services . AddSingleton < IViewManager > ( new ViewManager ( viewManagerConfig ) ) ;
@@ -100,7 +100,7 @@ protected override void OnExit(ExitEventArgs e)
100100 catch ( Exception ex )
101101 {
102102 // 记录日志但不阻止退出
103- System . Diagnostics . Debug . WriteLine ( $ "Error stopping host during exit: { ex . Message } ") ;
103+ Debug . WriteLine ( $ "Error stopping host during exit: { ex . Message } ") ;
104104 }
105105 }
106106
0 commit comments