Код: Выделить всё
try
{
var provider = Services;
var logger = provider.GetRequiredService();
logger.Information("Initializing GMenu...");
//await LoadMaterialThemeAsync(provider);
await LoadLocalizationAsync(provider).ConfigureAwait(false);
logger.Information("Desktop files paths: {paths}", StaticConfiguration.PathToDesktopFiles);
logger.Information("Desktop files icons path: {paths}", StaticConfiguration.PathsToRefineIcon);
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
desktop.MainWindow = new MainWindow { DataContext = Services.GetRequiredService() };
await LoadConfigurationAsync(provider).ConfigureAwait(false);
base.OnFrameworkInitializationCompleted();
}
catch (Exception e)
{
Services.GetRequiredService().Error(e, "An error occurred while initializing the application.");
Console.WriteLine(e);
Environment.Exit(-1);
}
Код: Выделить всё
LoadLocalizationAsyncЭтот код был изменен на 60%, чтобы завершиться сбоем исключение:
Код: Выделить всё
[ERR] [2026-04-28 20:50] [13] An error occured while initializing the application.
System.InvalidOperationException: Call from invalid thread
at Avalonia.Threading.Dispatcher.g__ThrowVerifyAccess|16_0()
at Avalonia.Threading.Dispatcher.VerifyAccess()
at Avalonia.Platform.ScreensBase`2.EnsureScreens()
at Avalonia.Platform.ScreensBase`2.get_AllScreens()
at Avalonia.X11.X11Window..ctor(AvaloniaX11Platform platform, IWindowImpl popupParent, X11WindowMode mode, Boolean overrideRedirect)
at Avalonia.X11.X11Window..ctor(AvaloniaX11Platform platform, IWindowImpl popupParent, Boolean overrideRedirect)
at Avalonia.X11.AvaloniaX11Platform.CreateWindow()
at Avalonia.Controls.Platform.PlatformManager.CreateWindow()
at Avalonia.Controls.Window..ctor()
at ReactiveUI.Avalonia.ReactiveWindow`1..ctor() in /_/src/ReactiveUI.Avalonia/ReactiveWindow.cs:line 34
at GMenu.Views.MainWindow..ctor() in /home/themakarik/RiderProjects/g-menu/src/GMenu/Views/MainWindow.axaml.cs:line 7
at GMenu.App.OnFrameworkInitializationCompleted() in /home/themakarik/RiderProjects/g-menu/src/GMenu/App.axaml.cs:line 31
System.InvalidOperationException: Call from invalid thread
at Avalonia.Threading.Dispatcher.g__ThrowVerifyAccess|16_0()
at Avalonia.Threading.Dispatcher.VerifyAccess()
at Avalonia.Platform.ScreensBase`2.EnsureScreens()
at Avalonia.Platform.ScreensBase`2.get_AllScreens()
at Avalonia.X11.X11Window..ctor(AvaloniaX11Platform platform, IWindowImpl popupParent, X11WindowMode mode, Boolean overrideRedirect)
at Avalonia.X11.X11Window..ctor(AvaloniaX11Platform platform, IWindowImpl popupParent, Boolean overrideRedirect)
at Avalonia.X11.AvaloniaX11Platform.CreateWindow()
at Avalonia.Controls.Platform.PlatformManager.CreateWindow()
at Avalonia.Controls.Window..ctor()
at ReactiveUI.Avalonia.ReactiveWindow`1..ctor() in /_/src/ReactiveUI.Avalonia/ReactiveWindow.cs:line 34
at GMenu.Views.MainWindow..ctor() in /home/themakarik/RiderProjects/g-menu/src/GMenu/Views/MainWindow.axaml.cs:line 7
at GMenu.App.OnFrameworkInitializationCompleted() in /home/themakarik/RiderProjects/g-menu/src/GMenu/App.axaml.cs:line 31
Код: Выделить всё
var provider = Services;
var logger = provider.GetRequiredService();
logger.Information("Initializing GMenu...");
//await LoadMaterialThemeAsync(provider);
await LoadLocalizationAsync(provider).ConfigureAwait(false);
logger.Information("Desktop files paths: {paths}", StaticConfiguration.PathToDesktopFiles);
logger.Information("Desktop files icons path: {paths}", StaticConfiguration.PathsToRefineIcon);
Dispatcher.UIThread.Invoke(() =>
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
desktop.MainWindow = new MainWindow { DataContext = Services.GetRequiredService() };
});
await LoadConfigurationAsync(provider).ConfigureAwait(false);
base.OnFrameworkInitializationCompleted();
Код: Выделить всё
MainWindowКод: Выделить всё
try
{
var provider = Services;
provider.GetRequiredService().Information("Initializing GMenu...");
//await LoadMaterialThemeAsync(provider);
await LoadLocalizationAsync(provider).ConfigureAwait(false);
provider.GetRequiredService().Information("Desktop files paths: {paths}", StaticConfiguration.PathToDesktopFiles);
provider.GetRequiredService().Information("Desktop files icons path: {paths}", StaticConfiguration.PathsToRefineIcon);
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
desktop.MainWindow = new MainWindow { DataContext = Services.GetRequiredService() };
await LoadConfigurationAsync(provider).ConfigureAwait(false);
base.OnFrameworkInitializationCompleted();
}
>
Мобильная версия