using Avalonia; using Avalonia.Media; using Avalonia.ReactiveUI; using JiLinApp.Core.Avalonia; using ReactiveUI; using System; using System.Threading.Tasks; namespace JiLinApp; internal class Program { // Initialization code. Don't use any Avalonia, third-party APIs or any // SynchronizationContext-reliant code before AppMain is called: things aren't initialized // yet and stuff might break. [STAThread] public static void Main(string[] args) { GlobalInit(); try { AppBuilder appBuilder = BuildAvaloniaApp(); appBuilder.StartWithClassicDesktopLifetime(args); } catch (Exception) { //The global try-catch throw; } } // Avalonia configuration, don't remove; also used by visual designer. public static AppBuilder BuildAvaloniaApp() { return AppBuilder.Configure() .UsePlatformDetect() .WithInterFont() .LogToTrace() .UseReactiveUI() .With(new FontManagerOptions { DefaultFamilyName = "avares://JiLinApp/Assets/Fonts/msyh.ttf#Microsoft YaHei", FontFallbacks = new[] { new FontFallback { FontFamily = new FontFamily("avares://JiLinApp/Assets/Fonts/msyh.ttf#Microsoft YaHei") } } }); } #region extend private static void GlobalInit() { // HandleExceptions // Exceptions from another thread TaskScheduler.UnobservedTaskException += (sender, e) => { e.SetObserved(); }; // Exceptions from Reactive UI RxAppExceptionHandler.Instance.OnExceptionHandler += e => { }; RxApp.DefaultExceptionHandler = RxAppExceptionHandler.Instance; } #endregion extend }