diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index c7c75f07..0d19d732 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -16,8 +16,7 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
- 6.x.x
- 7.x.x
+ 8.x.x
- name: install workloads
diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml
index fdf359ce..a8325d43 100644
--- a/.github/workflows/pull-requests.yml
+++ b/.github/workflows/pull-requests.yml
@@ -19,8 +19,7 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
- 6.x.x
- 7.x.x
+ 8.x.x
- name: install workloads
run: dotnet workload restore src/Avalonia.FuncUI.sln
diff --git a/src/Avalonia.FuncUI.Benchmarks/Avalonia.FuncUI.Benchmarks.fsproj b/src/Avalonia.FuncUI.Benchmarks/Avalonia.FuncUI.Benchmarks.fsproj
index 972211f6..7c5da883 100644
--- a/src/Avalonia.FuncUI.Benchmarks/Avalonia.FuncUI.Benchmarks.fsproj
+++ b/src/Avalonia.FuncUI.Benchmarks/Avalonia.FuncUI.Benchmarks.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/Avalonia.FuncUI.ControlCatalog.Browser.fsproj b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/Avalonia.FuncUI.ControlCatalog.Browser.fsproj
index becd0fbf..ab82074e 100644
--- a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/Avalonia.FuncUI.ControlCatalog.Browser.fsproj
+++ b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/Avalonia.FuncUI.ControlCatalog.Browser.fsproj
@@ -1,15 +1,16 @@
- net7.0
+ net8.0-browser
browser-wasm
- AppBundle\main.js
+ wwwroot\main.js
+ ./_framework
Exe
-
-
+
+
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/Logo.svg b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/Logo.svg
similarity index 100%
rename from src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/Logo.svg
rename to src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/Logo.svg
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/app.css b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/app.css
similarity index 100%
rename from src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/app.css
rename to src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/app.css
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/favicon.ico b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/favicon.ico
similarity index 100%
rename from src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/favicon.ico
rename to src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/favicon.ico
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/index.html b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/index.html
similarity index 100%
rename from src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/index.html
rename to src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/index.html
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/main.js b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/main.js
similarity index 69%
rename from src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/main.js
rename to src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/main.js
index 0dbe2e45..2af82e9b 100644
--- a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/AppBundle/main.js
+++ b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Browser/wwwroot/main.js
@@ -1,4 +1,4 @@
-import { dotnet } from './dotnet.js'
+import { dotnet } from './_framework/dotnet.js'
const is_browser = typeof window != "undefined";
if (!is_browser) throw new Error(`Expected to be running in a browser`);
@@ -10,4 +10,4 @@ const dotnetRuntime = await dotnet
const config = dotnetRuntime.getConfig();
-await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]);
\ No newline at end of file
+await dotnetRuntime.runMain(config.mainAssemblyName, [window.location.search]);
\ No newline at end of file
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Desktop/Avalonia.FuncUI.ControlCatalog.Desktop.fsproj b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Desktop/Avalonia.FuncUI.ControlCatalog.Desktop.fsproj
index 5c72a286..428b6257 100644
--- a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Desktop/Avalonia.FuncUI.ControlCatalog.Desktop.fsproj
+++ b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.Desktop/Avalonia.FuncUI.ControlCatalog.Desktop.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.fsproj b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.fsproj
index c565c21d..73705e65 100644
--- a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.fsproj
+++ b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog.fsproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
diff --git a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Views/Tabs/AttachedEventDemo.fs b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Views/Tabs/AttachedEventDemo.fs
index 84019281..4d831e38 100644
--- a/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Views/Tabs/AttachedEventDemo.fs
+++ b/src/Avalonia.FuncUI.ControlCatalog/Avalonia.FuncUI.ControlCatalog/Views/Tabs/AttachedEventDemo.fs
@@ -38,7 +38,7 @@ module AttachedEventDemo =
| :? 't as t when t.Name = name -> Some t
| _ -> None
- let sprintRoutedEvent (s: #Interactive) (e: #RoutedEventArgs) =
+ let sprintRoutedEvent (s: Interactive) (e: #RoutedEventArgs) =
let time = System.DateTime.Now.ToString ("HH:mm:ss.fff")
let sender =
diff --git a/src/Avalonia.FuncUI.Diagnostics/Avalonia.FuncUI.Diagnostics.fsproj b/src/Avalonia.FuncUI.Diagnostics/Avalonia.FuncUI.Diagnostics.fsproj
index 5b95e93e..df5165e8 100644
--- a/src/Avalonia.FuncUI.Diagnostics/Avalonia.FuncUI.Diagnostics.fsproj
+++ b/src/Avalonia.FuncUI.Diagnostics/Avalonia.FuncUI.Diagnostics.fsproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
true
3390;$(WarnOn)
diff --git a/src/Avalonia.FuncUI.Elmish/Avalonia.FuncUI.Elmish.fsproj b/src/Avalonia.FuncUI.Elmish/Avalonia.FuncUI.Elmish.fsproj
index 941f7530..b09958ee 100644
--- a/src/Avalonia.FuncUI.Elmish/Avalonia.FuncUI.Elmish.fsproj
+++ b/src/Avalonia.FuncUI.Elmish/Avalonia.FuncUI.Elmish.fsproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
$(FuncUIVersion)
JaggerJo
Avalonia.FuncUI.Elmish
@@ -33,10 +33,6 @@
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
diff --git a/src/Avalonia.FuncUI.Templates/content/BasicMvuTemplate/BasicMvuTemplate.fsproj b/src/Avalonia.FuncUI.Templates/content/BasicMvuTemplate/BasicMvuTemplate.fsproj
index e90b46af..08d51420 100644
--- a/src/Avalonia.FuncUI.Templates/content/BasicMvuTemplate/BasicMvuTemplate.fsproj
+++ b/src/Avalonia.FuncUI.Templates/content/BasicMvuTemplate/BasicMvuTemplate.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Avalonia.FuncUI.Templates/content/BasicTemplate/BasicTemplate.fsproj b/src/Avalonia.FuncUI.Templates/content/BasicTemplate/BasicTemplate.fsproj
index 2599ebca..2c031152 100644
--- a/src/Avalonia.FuncUI.Templates/content/BasicTemplate/BasicTemplate.fsproj
+++ b/src/Avalonia.FuncUI.Templates/content/BasicTemplate/BasicTemplate.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Avalonia.FuncUI.Templates/content/FullMvuTemplate/FullMvuTemplate.fsproj b/src/Avalonia.FuncUI.Templates/content/FullMvuTemplate/FullMvuTemplate.fsproj
index 1f6e46b4..077f7a6d 100644
--- a/src/Avalonia.FuncUI.Templates/content/FullMvuTemplate/FullMvuTemplate.fsproj
+++ b/src/Avalonia.FuncUI.Templates/content/FullMvuTemplate/FullMvuTemplate.fsproj
@@ -1,7 +1,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Avalonia.FuncUI.Templates/content/FullTemplate/FullTemplate.fsproj b/src/Avalonia.FuncUI.Templates/content/FullTemplate/FullTemplate.fsproj
index cc13c783..41734767 100644
--- a/src/Avalonia.FuncUI.Templates/content/FullTemplate/FullTemplate.fsproj
+++ b/src/Avalonia.FuncUI.Templates/content/FullTemplate/FullTemplate.fsproj
@@ -1,7 +1,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Avalonia.FuncUI.UnitTests/Avalonia.FuncUI.UnitTests.fsproj b/src/Avalonia.FuncUI.UnitTests/Avalonia.FuncUI.UnitTests.fsproj
index d93c0ee1..abe0d770 100644
--- a/src/Avalonia.FuncUI.UnitTests/Avalonia.FuncUI.UnitTests.fsproj
+++ b/src/Avalonia.FuncUI.UnitTests/Avalonia.FuncUI.UnitTests.fsproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
false
false
diff --git a/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj b/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
index c32f8cd4..0a6af7bd 100644
--- a/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
+++ b/src/Avalonia.FuncUI/Avalonia.FuncUI.fsproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
$(FuncUIVersion)
JaggerJo
Avalonia.FuncUI
@@ -26,10 +26,6 @@
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 359496f1..31a736f5 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -1,6 +1,6 @@
- 11.0.0
+ 11.1.0
1.4.0
diff --git a/src/Examples/Component Examples/Examples.ChordParser/Examples.ChordParser.fsproj b/src/Examples/Component Examples/Examples.ChordParser/Examples.ChordParser.fsproj
index b6c04e92..17483cb7 100644
--- a/src/Examples/Component Examples/Examples.ChordParser/Examples.ChordParser.fsproj
+++ b/src/Examples/Component Examples/Examples.ChordParser/Examples.ChordParser.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
3390;$(WarnOn)
Examples.ChordParser
diff --git a/src/Examples/Component Examples/Examples.ContactBook/Examples.ContactBook.fsproj b/src/Examples/Component Examples/Examples.ContactBook/Examples.ContactBook.fsproj
index f3f0fabc..157e660c 100644
--- a/src/Examples/Component Examples/Examples.ContactBook/Examples.ContactBook.fsproj
+++ b/src/Examples/Component Examples/Examples.ContactBook/Examples.ContactBook.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
3390;$(WarnOn)
diff --git a/src/Examples/Component Examples/Examples.CounterApp/Examples.CounterApp.fsproj b/src/Examples/Component Examples/Examples.CounterApp/Examples.CounterApp.fsproj
index f6768470..ddaab81b 100644
--- a/src/Examples/Component Examples/Examples.CounterApp/Examples.CounterApp.fsproj
+++ b/src/Examples/Component Examples/Examples.CounterApp/Examples.CounterApp.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
Examples.Components.CounterApp
Examples.CounterApp
diff --git a/src/Examples/Component Examples/Examples.DrawingApp/Examples.DrawingApp.fsproj b/src/Examples/Component Examples/Examples.DrawingApp/Examples.DrawingApp.fsproj
index 0d8daddc..759206b2 100644
--- a/src/Examples/Component Examples/Examples.DrawingApp/Examples.DrawingApp.fsproj
+++ b/src/Examples/Component Examples/Examples.DrawingApp/Examples.DrawingApp.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Examples/Component Examples/Examples.EnvApp/Examples.EnvApp.fsproj b/src/Examples/Component Examples/Examples.EnvApp/Examples.EnvApp.fsproj
index b2486c2c..0f4d124f 100644
--- a/src/Examples/Component Examples/Examples.EnvApp/Examples.EnvApp.fsproj
+++ b/src/Examples/Component Examples/Examples.EnvApp/Examples.EnvApp.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Examples/Component Examples/Examples.GeneticAlgorithm/Examples.GeneticAlgorithm.fsproj b/src/Examples/Component Examples/Examples.GeneticAlgorithm/Examples.GeneticAlgorithm.fsproj
index 19fe8e23..ad5f1ab0 100644
--- a/src/Examples/Component Examples/Examples.GeneticAlgorithm/Examples.GeneticAlgorithm.fsproj
+++ b/src/Examples/Component Examples/Examples.GeneticAlgorithm/Examples.GeneticAlgorithm.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
3390;$(WarnOn)
diff --git a/src/Examples/Component Examples/Examples.InlineText/Examples.InlineText.fsproj b/src/Examples/Component Examples/Examples.InlineText/Examples.InlineText.fsproj
index 92ef7a9f..49ba4a7a 100644
--- a/src/Examples/Component Examples/Examples.InlineText/Examples.InlineText.fsproj
+++ b/src/Examples/Component Examples/Examples.InlineText/Examples.InlineText.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Examples/Component Examples/Examples.Presso/Examples.Presso.fsproj b/src/Examples/Component Examples/Examples.Presso/Examples.Presso.fsproj
index ef8fc0f5..e183f909 100644
--- a/src/Examples/Component Examples/Examples.Presso/Examples.Presso.fsproj
+++ b/src/Examples/Component Examples/Examples.Presso/Examples.Presso.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Examples/Component Examples/Examples.TodoApp/Examples.TodoApp.fsproj b/src/Examples/Component Examples/Examples.TodoApp/Examples.TodoApp.fsproj
index 503667ef..f8267196 100644
--- a/src/Examples/Component Examples/Examples.TodoApp/Examples.TodoApp.fsproj
+++ b/src/Examples/Component Examples/Examples.TodoApp/Examples.TodoApp.fsproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
Exe
true
diff --git a/src/Examples/Elmish Examples/Examples.Elmish.ClockApp/Examples.Elmish.ClockApp.fsproj b/src/Examples/Elmish Examples/Examples.Elmish.ClockApp/Examples.Elmish.ClockApp.fsproj
index 49c51a61..9c54f586 100644
--- a/src/Examples/Elmish Examples/Examples.Elmish.ClockApp/Examples.Elmish.ClockApp.fsproj
+++ b/src/Examples/Elmish Examples/Examples.Elmish.ClockApp/Examples.Elmish.ClockApp.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
Examples.ClockApp
diff --git a/src/Examples/Elmish Examples/Examples.Elmish.CounterApp/Examples.Elmish.CounterApp.fsproj b/src/Examples/Elmish Examples/Examples.Elmish.CounterApp/Examples.Elmish.CounterApp.fsproj
index 32730880..e7acbd58 100644
--- a/src/Examples/Elmish Examples/Examples.Elmish.CounterApp/Examples.Elmish.CounterApp.fsproj
+++ b/src/Examples/Elmish Examples/Examples.Elmish.CounterApp/Examples.Elmish.CounterApp.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
Examples.CounterApp
diff --git a/src/Examples/Elmish Examples/Examples.Elmish.GameOfLife/Examples.Elmish.GameOfLife.fsproj b/src/Examples/Elmish Examples/Examples.Elmish.GameOfLife/Examples.Elmish.GameOfLife.fsproj
index a0edb834..63158016 100644
--- a/src/Examples/Elmish Examples/Examples.Elmish.GameOfLife/Examples.Elmish.GameOfLife.fsproj
+++ b/src/Examples/Elmish Examples/Examples.Elmish.GameOfLife/Examples.Elmish.GameOfLife.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
Examples.GameOfLife
diff --git a/src/Examples/Elmish Examples/Examples.Elmish.MusicPlayer/Examples.Elmish.MusicPlayer.fsproj b/src/Examples/Elmish Examples/Examples.Elmish.MusicPlayer/Examples.Elmish.MusicPlayer.fsproj
index 7c427d2d..e3eeda95 100644
--- a/src/Examples/Elmish Examples/Examples.Elmish.MusicPlayer/Examples.Elmish.MusicPlayer.fsproj
+++ b/src/Examples/Elmish Examples/Examples.Elmish.MusicPlayer/Examples.Elmish.MusicPlayer.fsproj
@@ -2,7 +2,7 @@
WinExe
- net6.0
+ net8.0
Examples.MusicPlayer
diff --git a/src/Examples/Elmish Examples/Examples.Elmish.Presso/Examples.Elmish.Presso.fsproj b/src/Examples/Elmish Examples/Examples.Elmish.Presso/Examples.Elmish.Presso.fsproj
index e7d95cb7..a5924510 100644
--- a/src/Examples/Elmish Examples/Examples.Elmish.Presso/Examples.Elmish.Presso.fsproj
+++ b/src/Examples/Elmish Examples/Examples.Elmish.Presso/Examples.Elmish.Presso.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
Examples.Presso
diff --git a/src/Examples/Elmish Examples/Examples.Elmish.Tetris/Examples.Elmish.Tetris.fsproj b/src/Examples/Elmish Examples/Examples.Elmish.Tetris/Examples.Elmish.Tetris.fsproj
index 6e2755bd..1aa24110 100644
--- a/src/Examples/Elmish Examples/Examples.Elmish.Tetris/Examples.Elmish.Tetris.fsproj
+++ b/src/Examples/Elmish Examples/Examples.Elmish.Tetris/Examples.Elmish.Tetris.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
Examples.Tetris
diff --git a/src/Examples/Examples.DataGridPlayground/Examples.DataGridPlayground.fsproj b/src/Examples/Examples.DataGridPlayground/Examples.DataGridPlayground.fsproj
index 06785e20..c68bf679 100644
--- a/src/Examples/Examples.DataGridPlayground/Examples.DataGridPlayground.fsproj
+++ b/src/Examples/Examples.DataGridPlayground/Examples.DataGridPlayground.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0
diff --git a/src/Examples/ViewModelComponent Examples/Examples.ViewModelComponent.CounterApp/Examples.ViewModelComponent.CounterApp.fsproj b/src/Examples/ViewModelComponent Examples/Examples.ViewModelComponent.CounterApp/Examples.ViewModelComponent.CounterApp.fsproj
index 8e04a52e..59c107be 100644
--- a/src/Examples/ViewModelComponent Examples/Examples.ViewModelComponent.CounterApp/Examples.ViewModelComponent.CounterApp.fsproj
+++ b/src/Examples/ViewModelComponent Examples/Examples.ViewModelComponent.CounterApp/Examples.ViewModelComponent.CounterApp.fsproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net8.0