Skip to content

Commit aa53f90

Browse files
authored
Targets .NET 10 (#3353)
* Updates projects to target .NET 10 Updates the target framework of several projects to .NET 10. This ensures compatibility and takes advantage of the latest .NET features. Updates package versions to align with the target framework update. * Updates Maui controls version for .NET 10 Updates the Microsoft.Maui.Controls package version to 10.0.10 for .NET 10 targets in Maui projects. This ensures that the projects use the correct Maui version when targeting .NET 10. It also temporarily removes conditional package versioning from Directory.Packages.props which is now handled within the project files themselves. * Updates Uno check version and target platforms Updates the Uno check version to 1.33.1 in both the build and CI workflows. Adds tvos as a target platform for workload installation in both workflows to support tvOS builds. * Fixes build targets Also updates target frameworks to include net10. * Adds OutputType property to project files Specifies the OutputType property as Library in the project files. This ensures that the projects are built as libraries, which is necessary for proper packaging and referencing in other projects. * Enhances XAML Navigation and Dialog Features Adds attached properties for tabbed page navigation and appearance. Introduces the ability to specify navigation types when going back. Adds logging for navigation failures and provides a way to add services required by markup extensions to prevent runtime errors. * Disables code signing in CI workflows Turns off code signing for .NET 10 builds, likely for testing or development purposes where signed builds are not immediately required. * Registers ILoggerFactory for Navigation Tests Registers an instance of ILoggerFactory in the test container for the Navigation Tests. This enables logging functionality within the tests, enhancing debugging and diagnostics.
1 parent d0860c5 commit aa53f90

File tree

46 files changed

+368
-107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+368
-107
lines changed

.github/workflows/build_avalonia.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ jobs:
2323
with:
2424
name: Build Prism.Avalonia
2525
solution-path: PrismLibrary_Avalonia.slnf
26+
dotnet-version: 10.0.100

.github/workflows/build_core.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ jobs:
2121
with:
2222
name: Build Prism.Core
2323
solution-path: PrismLibrary_Core.slnf
24+
dotnet-version: 10.0.100

.github/workflows/build_maui.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ jobs:
2525
name: Build Prism.Maui
2626
solution-path: PrismLibrary_Maui.slnf
2727
install-workload: maui maui-tizen
28+
dotnet-version: 10.0.100

.github/workflows/build_uno.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ jobs:
2626
name: Build Prism.Uno
2727
solution-path: PrismLibrary_Uno.slnf
2828
windows-sdk-version: 18362
29-
dotnet-version: 8.0.300
30-
install-workload: ios android macos maccatalyst wasm-tools
29+
dotnet-version: 10.0.100
30+
install-workload: ios android macos maccatalyst wasm-tools tvos
3131
uno-check: false
32-
uno-check-version: 1.25.1
32+
uno-check-version: 1.33.1
3333
uno-check-parameters: '--skip xcode --skip gtk3 --skip vswin --skip androidemulator --skip androidsdk --skip vsmac --skip dotnetnewunotemplates'
3434
run-tests: false

.github/workflows/build_wpf.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ jobs:
2323
with:
2424
name: Build Prism.Wpf
2525
solution-path: PrismLibrary_Wpf.slnf
26+
dotnet-version: 10.0.100

.github/workflows/ci.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ jobs:
2929
with:
3030
name: Build Prism.Core
3131
solution-path: PrismLibrary_Core.slnf
32-
code-sign: true
32+
code-sign: false
3333
artifact-name: Core
34+
dotnet-version: 10.0.100
3435
secrets:
3536
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
3637
codeSignClientId: ${{ secrets.CodeSignClientId }}
@@ -43,8 +44,9 @@ jobs:
4344
with:
4445
name: Build Prism.Wpf
4546
solution-path: PrismLibrary_Wpf.slnf
46-
code-sign: true
47+
code-sign: false
4748
artifact-name: Wpf
49+
dotnet-version: 10.0.100
4850
secrets:
4951
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
5052
codeSignClientId: ${{ secrets.CodeSignClientId }}
@@ -58,13 +60,13 @@ jobs:
5860
name: Build Prism.Uno
5961
solution-path: PrismLibrary_Uno.slnf
6062
windows-sdk-version: 18362
61-
dotnet-version: 8.0.300
62-
install-workload: ios android macos maccatalyst wasm-tools
63+
dotnet-version: 10.0.100
64+
install-workload: ios android macos maccatalyst wasm-tools tvos
6365
uno-check: false
64-
uno-check-version: 1.24.0
66+
uno-check-version: 1.33.1
6567
uno-check-parameters: '--skip xcode --skip gtk3 --skip vswin --skip androidemulator --skip androidsdk --skip vsmac --skip dotnetnewunotemplates'
6668
run-tests: false
67-
code-sign: true
69+
code-sign: false
6870
artifact-name: Uno
6971
secrets:
7072
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
@@ -79,8 +81,9 @@ jobs:
7981
name: Build Prism.Maui
8082
solution-path: PrismLibrary_Maui.slnf
8183
install-workload: maui maui-tizen
82-
code-sign: true
84+
code-sign: false
8385
artifact-name: Maui
86+
dotnet-version: 10.0.100
8487
secrets:
8588
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
8689
codeSignClientId: ${{ secrets.CodeSignClientId }}
@@ -93,8 +96,9 @@ jobs:
9396
with:
9497
name: Build Prism.Avalonia
9598
solution-path: PrismLibrary_Avalonia.slnf
96-
code-sign: true
99+
code-sign: false
97100
artifact-name: Avalonia
101+
dotnet-version: 10.0.100
98102
secrets:
99103
codeSignKeyVault: ${{ secrets.CodeSignKeyVault }}
100104
codeSignClientId: ${{ secrets.CodeSignClientId }}
@@ -167,4 +171,4 @@ jobs:
167171
name: Deploy Commercial Plus
168172
secrets:
169173
feedUrl: ${{ secrets.PRISM_NUGET_FEED }}
170-
apiKey: ${{ secrets.PRISM_NUGET_TOKEN }}
174+
apiKey: ${{ secrets.PRISM_NUGET_TOKEN }}

Directory.Packages.props

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -10,62 +10,66 @@
1010
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.122" />
1111
</ItemGroup>
1212
<!-- Maui -->
13-
<ItemGroup Condition=" $(UseMaui) == 'true' ">
14-
<PackageVersion Include="Microsoft.Maui.Controls" Version="8.0.20" Condition="$(MSBuildProjectName.StartsWith('Prism.'))" />
13+
<!--<ItemGroup Condition=" $(UseMaui) == 'true' ">
14+
<PackageVersion Include="Microsoft.Maui.Controls" Version="9.0.110"
15+
Condition="$(MSBuildProjectName.StartsWith('Prism.')) AND $(TargetFramework.StartsWith('net9.0'))" />
16+
<PackageVersion Include="Microsoft.Maui.Controls" Version="10.0.10"
17+
Condition="$(MSBuildProjectName.StartsWith('Prism.')) AND $(TargetFramework.StartsWith('net10.0'))" />
1518
<PackageVersion Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" Condition="!$(MSBuildProjectName.StartsWith('Prism.'))" />
16-
</ItemGroup>
19+
</ItemGroup>-->
1720
<!-- Uno
1821
Note that the $(UnoVersion) comes from the Uno.Sdk. You should not update it manually. To update the version of Uno,
1922
you should instead update the Sdk version in the global.json file.
2023
2124
See https://aka.platform.uno/upgrade-uno-packages for more information.
2225
-->
2326
<ItemGroup Condition=" $(IsUnoProject) == 'true' ">
24-
<PackageVersion Include="Uno.Extensions.Markup.Generators" Version="5.3.12" />
25-
<PackageVersion Include="Uno.WinUI.Markup" Version="5.3.12" />
27+
<PackageVersion Include="Uno.Extensions.Markup.Generators" Version="6.4.11" />
28+
<PackageVersion Include="Uno.WinUI.Markup" Version="6.4.11" />
2629
<PackageVersion Include="Uno.WinUI" Version="$(UnoVersion)" />
2730
<PackageVersion Include="Uno.WinUI.Lottie" Version="$(UnoVersion)" />
2831
<PackageVersion Include="Uno.WinUI.Skia.Gtk" Version="$(UnoVersion)" />
2932
<PackageVersion Include="Uno.WinUI.Skia.Linux.FrameBuffer" Version="$(UnoVersion)" />
3033
<PackageVersion Include="Uno.WinUI.Skia.Wpf" Version="$(UnoVersion)" />
31-
<PackageVersion Include="Uno.Wasm.Bootstrap" Version="8.0.20" />
32-
<PackageVersion Include="Uno.Wasm.Bootstrap.DevServer" Version="8.0.20" />
34+
<PackageVersion Include="Uno.Wasm.Bootstrap" Version="9.0.20" />
35+
<PackageVersion Include="Uno.Wasm.Bootstrap.DevServer" Version="9.0.20" />
3336
<PackageVersion Include="Uno.WinUI.WebAssembly" Version="$(UnoVersion)" />
3437
<PackageVersion Include="Uno.WinUI.DevServer" Version="$(UnoVersion)" />
3538
<PackageVersion Include="Uno.UI.Adapter.Microsoft.Extensions.Logging" Version="$(UnoVersion)" />
36-
<PackageVersion Include="Uno.Core.Extensions.Logging.Singleton" Version="4.0.1" />
39+
<PackageVersion Include="Uno.Core.Extensions.Logging.Singleton" Version="4.1.1" />
3740
<PackageVersion Include="Uno.Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.4.2" />
3841
<PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
3942
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.2.221109.1" Condition="$(MSBuildProjectName.Contains('Prism'))" />
40-
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.4.240211001" Condition="!$(MSBuildProjectName.Contains('Prism'))" />
41-
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.2428" />
42-
<PackageVersion Include="SkiaSharp.Views.Uno.WinUI" Version="2.88.7" />
43-
<PackageVersion Include="SkiaSharp.Skottie" Version="2.88.7" />
44-
<PackageVersion Include="Uno.Resizetizer" Version="1.4.10" />
43+
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.7.250909003" Condition="!$(MSBuildProjectName.Contains('Prism'))" />
44+
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.6901" />
45+
<PackageVersion Include="SkiaSharp.Views.Uno.WinUI" Version="3.119.1" />
46+
<PackageVersion Include="SkiaSharp.Skottie" Version="3.119.1" />
47+
<PackageVersion Include="Uno.Resizetizer" Version="1.12.1" />
4548
<PackageVersion Include="Uno.Extensions.Logging.OSLog" Version="1.7.0" />
46-
<PackageVersion Include="Uno.Extensions.Logging.WinUI" Version="4.1.24" />
47-
<PackageVersion Include="Uno.Extensions.Logging.Serilog" Version="4.1.24" />
49+
<PackageVersion Include="Uno.Extensions.Logging.WinUI" Version="7.0.4" />
50+
<PackageVersion Include="Uno.Extensions.Logging.Serilog" Version="7.0.4" />
4851
<PackageVersion Include="Uno.Extensions.Logging.WebAssembly.Console" Version="1.7.0" />
49-
<PackageVersion Include="Uno.Material.WinUI" Version="5.0.13" />
50-
<PackageVersion Include="Uno.Toolkit.WinUI.Material" Version="6.0.24" />
51-
<PackageVersion Include="Uno.Toolkit.WinUI" Version="6.0.24" />
52-
<PackageVersion Include="Uno.Extensions.Hosting.WinUI" Version="4.2.2" />
52+
<PackageVersion Include="Uno.Material.WinUI" Version="6.0.2" />
53+
<PackageVersion Include="Uno.Toolkit.WinUI.Material" Version="8.3.2" />
54+
<PackageVersion Include="Uno.Toolkit.WinUI" Version="8.3.2" />
55+
<PackageVersion Include="Uno.Extensions.Hosting.WinUI" Version="7.0.4" />
5356
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
54-
<PackageVersion Include="Xamarin.Google.Android.Material" Version="1.10.0.3" />
55-
<PackageVersion Include="Uno.UniversalImageLoader" Version="1.9.36" />
57+
<PackageVersion Include="Xamarin.Google.Android.Material" Version="1.12.0.4" />
58+
<PackageVersion Include="Xamarin.Google.Android.Material" Version="1.12.0.5" Condition="$(TargetFramework.StartsWith('net10.0'))" />
59+
<PackageVersion Include="Uno.UniversalImageLoader" Version="1.9.37" />
5660
<PackageVersion Include="Microsoft.Windows.Compatibility" Version="8.0.0" />
5761
</ItemGroup>
5862
<!-- Avalonia -->
5963
<ItemGroup Condition=" $(IsAvaloniaProject) == 'true' ">
60-
<PackageVersion Include="Avalonia" Version="11.3.5" />
61-
<PackageVersion Include="Avalonia.Desktop" Version="11.3.5" />
62-
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.5" />
63-
<PackageVersion Include="Avalonia.LinuxFramebuffer" Version="11.3.5" />
64-
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.3.5" />
65-
<PackageVersion Include="Avalonia.Themes.Simple" Version="11.3.5" />
66-
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.3.5" />
67-
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.3.5" />
68-
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="4.7.0" />
64+
<PackageVersion Include="Avalonia" Version="11.3.8" />
65+
<PackageVersion Include="Avalonia.Desktop" Version="11.3.8" />
66+
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.8" />
67+
<PackageVersion Include="Avalonia.LinuxFramebuffer" Version="11.3.8" />
68+
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.3.8" />
69+
<PackageVersion Include="Avalonia.Themes.Simple" Version="11.3.8" />
70+
<PackageVersion Include="Avalonia.Themes.Fluent" Version="11.3.8" />
71+
<PackageVersion Include="Avalonia.Fonts.Inter" Version="11.3.8" />
72+
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="10.0.0" />
6973
<PackageVersion Include="System.CodeDom" Version="8.0.0" />
7074
</ItemGroup>
7175
<!-- Tests -->
@@ -96,7 +100,7 @@
96100
<ItemGroup>
97101
<!-- Global Packages -->
98102
<PackageVersion Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
99-
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.6.141" />
103+
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.9.50" />
100104
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
101105
</ItemGroup>
102106
</Project>

e2e/Avalonia/PrismAvaloniaDemo/PrismAvaloniaDemo.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>WinExe</OutputType>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<LangVersion>latest</LangVersion>
66
<Nullable>enable</Nullable>
77
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>

e2e/Maui/MauiModule/MauiModule.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
66
<UseMaui>true</UseMaui>
77
</PropertyGroup>

e2e/Maui/MauiRegionsModule/MauiRegionsModule.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
66
<UseMaui>true</UseMaui>
77
</PropertyGroup>

0 commit comments

Comments
 (0)