-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathProgram.cs
More file actions
58 lines (54 loc) · 2.15 KB
/
Program.cs
File metadata and controls
58 lines (54 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using Avalonia;
using System;
using System.Text;
namespace MuOnlineConsole
{
internal sealed 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] // Wymagane dla aplikacji desktopowych
public static void Main(string[] args)
{
TrySetConsoleUtf8(); // Nadal może być przydatne dla logów konsolowych
try
{
BuildAvaloniaApp() // Zbuduj aplikację Avalonia
.StartWithClassicDesktopLifetime(args); // Uruchom ją
}
catch (Exception ex)
{
// Log critical error if Avalonia fails to start
Console.WriteLine($"[CRITICAL] Failed to start Avalonia application: {ex}");
// Możesz tu dodać logowanie do pliku
}
finally
{
Console.WriteLine("Application finished. Press ENTER to exit.");
Console.ReadLine(); // Pozostaw konsolę otwartą na koniec
}
}
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
// .WithInterFont() // Użyj czcionki Inter
.LogToTrace(); // Loguj błędy Avalonia
// Metoda TrySetConsoleUtf8 pozostaje bez zmian
private static void TrySetConsoleUtf8()
{
if (!OperatingSystem.IsWindows()) return;
try
{
Console.WriteLine("[Info] Attempting to set console codepage to UTF-8 (65001)...");
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine($"[Info] Console OutputEncoding set to {Console.OutputEncoding.EncodingName}.");
}
catch (Exception ex)
{
Console.WriteLine($"[Warning] Failed to set console codepage: {ex.Message}");
}
}
}
}