diff --git a/SharpCalculator.Avalonia/App.axaml.cs b/SharpCalculator.Avalonia/App.axaml.cs
index a1b699c..3150c94 100644
--- a/SharpCalculator.Avalonia/App.axaml.cs
+++ b/SharpCalculator.Avalonia/App.axaml.cs
@@ -4,7 +4,6 @@ global using System.Globalization;
global using Avalonia;
global using Avalonia.Controls;
global using Avalonia.Interactivity;
-global using Avalonia.Media;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
diff --git a/SharpCalculator.Avalonia/MainWindow.axaml b/SharpCalculator.Avalonia/MainWindow.axaml
index 729f869..89bf555 100644
--- a/SharpCalculator.Avalonia/MainWindow.axaml
+++ b/SharpCalculator.Avalonia/MainWindow.axaml
@@ -1,6 +1,7 @@
-
- 1* 40 1* 330
-
-
+
+
-
-
+
+
+
+
-
-
- * * * * * * *
- * * * * *
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
\ No newline at end of file
diff --git a/SharpCalculator.Avalonia/Program.cs b/SharpCalculator.Avalonia/Program.cs
index b0b251a..11a271c 100644
--- a/SharpCalculator.Avalonia/Program.cs
+++ b/SharpCalculator.Avalonia/Program.cs
@@ -1,8 +1,4 @@
-using Avalonia;
-using System;
-using System.Globalization;
-
-namespace SharpCalculator.Avalonia;
+namespace SharpCalculator.Avalonia;
class Program
{
diff --git a/SharpCalculator.Avalonia/SharpCalculator.Avalonia.csproj b/SharpCalculator.Avalonia/SharpCalculator.Avalonia.csproj
index 4c987de..e913ac2 100644
--- a/SharpCalculator.Avalonia/SharpCalculator.Avalonia.csproj
+++ b/SharpCalculator.Avalonia/SharpCalculator.Avalonia.csproj
@@ -1,13 +1,15 @@
WinExe
- net8.0
- 12
+ net10.0
+ latest
enable
disable
true
true
assets\icon.ico
+ true
+ true
@@ -15,6 +17,7 @@
+
diff --git a/SharpCalculator.Tests/SharpCalculator.Tests.csproj b/SharpCalculator.Tests/SharpCalculator.Tests.csproj
index f06b46a..34f4679 100644
--- a/SharpCalculator.Tests/SharpCalculator.Tests.csproj
+++ b/SharpCalculator.Tests/SharpCalculator.Tests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
disable
enable
false
diff --git a/SharpCalculator.sln b/SharpCalculator.sln
index 4763dc8..184b7dd 100644
--- a/SharpCalculator.sln
+++ b/SharpCalculator.sln
@@ -9,6 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution_items", "solution_
.gitignore = .gitignore
.gitmodules = .gitmodules
README.md = README.md
+ build.sh = build.sh
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpCalculator.Tests", "SharpCalculator.Tests\SharpCalculator.Tests.csproj", "{E929E48D-D11B-4FB5-AC6F-D0D50E2B3BD1}"
diff --git a/build.sh b/build.sh
new file mode 100644
index 0000000..775caee
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+set -eo pipefail
+
+outdir="bin"
+project="SharpCalculator.Avalonia"
+
+# Somebody broke dotnet10 sdk .target files
+# To publish self-contained trimmed binary you should add true to project file.
+# Command-line option -p:PublishTrimmed=true produces an error.
+# Same with true if you want AOT compilation.
+args="
+ --self-contained
+ --use-current-runtime
+ -p:PublishSingleFile=true
+ -p:TrimMode=partial
+ -p:EnableCompressionInSingleFile=true
+ -p:OptimizationPreference=Size
+ -p:InvariantGlobalization=true
+ -p:DebugType=none
+ -p:IncludeNativeLibrariesForSelfExtract=true"
+
+rm -rf "$outdir"
+command="dotnet publish $project -c Release -o $outdir $args"
+echo "$command"
+$command
+
+find "$outdir" -name '*.pdb' -delete -printf "deleted '%p'\n"
+tree -sh "$outdir"