From 07062f430108f1409600b323b2580d7c20247b1c Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Mon, 24 Nov 2025 13:52:06 -0800 Subject: [PATCH 1/2] Update to .NET SDK 10 and revise toolkit requirements Bump .NET SDK version to 10.0.100 in global.json and update NuGet operations to use 10.0.x in CI workflow. Simplify MVVM Toolkit error message to recommend using the latest .NET SDK version. --- .github/workflows/ci-build.yml | 2 +- global.json | 2 +- .../CommunityToolkit.Mvvm.WindowsSdk.targets | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 4884545b2..98fbde251 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -24,7 +24,7 @@ env: # The version of .NET to use just for NuGet package operations. # This doesn't have to be exactly in sync with the .NET SDK # version defined in 'global.json', as it's not used for builds. - DOTNET_NUGET_VERSION: ${{ '9.0.x' }} + DOTNET_NUGET_VERSION: ${{ '10.0.x' }} jobs: diff --git a/global.json b/global.json index 2f7b69b36..fe7e453b1 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.306", + "version": "10.0.100", "rollForward": "latestFeature", "allowPrerelease": false } diff --git a/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.WindowsSdk.targets b/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.WindowsSdk.targets index f51332a68..dc1e3be10 100644 --- a/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.WindowsSdk.targets +++ b/src/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.WindowsSdk.targets @@ -82,7 +82,7 @@ Condition="'@(_MvvmToolkitCompatibleWindowsSdkPackages)' == ''" Code="MVVMTKCFG0003" HelpLink="https://aka.ms/mvvmtoolkit/errors/mvvmtkcfg0003" - Text="This version of the MVVM Toolkit requires 'Microsoft.Windows.SDK.NET.Ref' version '$(_MvvmToolkitWindowsSdkPackageRequired)' or later. Please update the .NET SDK in use to 8.0.405 (or later) or 9.0.102 (or later). Alternatively, use a temporary 'Microsoft.Windows.SDK.NET.Ref' reference, which can be done by setting the 'WindowsSdkPackageVersion' property in your .csproj file. For your project configuration, it is recommended to set the package version to '$(_MvvmToolkitWindowsSdkPackageRecommended)'." /> + Text="This version of the MVVM Toolkit requires 'Microsoft.Windows.SDK.NET.Ref' version '$(_MvvmToolkitWindowsSdkPackageRequired)' or later. Please update the .NET SDK in use to the latest version. Alternatively, use a temporary 'Microsoft.Windows.SDK.NET.Ref' reference, which can be done by setting the 'WindowsSdkPackageVersion' property in your .csproj file. For your project configuration, it is recommended to set the package version to '$(_MvvmToolkitWindowsSdkPackageRecommended)'." /> \ No newline at end of file From 796d8d095694e472a9a025466e6a92c0612137ec Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Mon, 24 Nov 2025 13:54:41 -0800 Subject: [PATCH 2/2] Add .NET 10.0 target to all unit test projects Updated the TargetFrameworks property in all unit test .csproj files to include net10.0, enabling tests to run against the latest .NET version. --- .../CommunityToolkit.Common.UnitTests.csproj | 2 +- .../CommunityToolkit.Diagnostics.UnitTests.csproj | 2 +- .../CommunityToolkit.HighPerformance.UnitTests.csproj | 2 +- ...Toolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj | 2 +- .../CommunityToolkit.Mvvm.Internals.UnitTests.csproj | 2 +- .../CommunityToolkit.Mvvm.Roslyn4001.UnitTests.csproj | 2 +- .../CommunityToolkit.Mvvm.Roslyn4031.UnitTests.csproj | 2 +- .../CommunityToolkit.Mvvm.Roslyn4120.UnitTests.csproj | 2 +- ...ityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests.csproj | 2 +- ...ityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests.csproj | 2 +- ...ityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests.csproj | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj b/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj index 0c1a14b04..8064189d2 100644 --- a/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj +++ b/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 diff --git a/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj b/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj index 93b3c3905..d559052fd 100644 --- a/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj +++ b/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 diff --git a/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj b/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj index e30c2d866..9a166a2d4 100644 --- a/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj +++ b/tests/CommunityToolkit.HighPerformance.UnitTests/CommunityToolkit.HighPerformance.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 true $(NoWarn);CA2252 diff --git a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj index 14fef5ac6..0b4ce21f8 100644 --- a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 diff --git a/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj index 8ba032c90..34fb4a63d 100644 --- a/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 diff --git a/tests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests.csproj index 2f18817cc..161c553c0 100644 --- a/tests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.Roslyn4001.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 true diff --git a/tests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests.csproj index 06d4fe9c5..99758f7bf 100644 --- a/tests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.Roslyn4031.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 true diff --git a/tests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests.csproj index 5dc6e1e8d..396da512a 100644 --- a/tests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.Roslyn4120.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 preview true $(DefineConstants);ROSLYN_4_12_0_OR_GREATER diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests.csproj index 14d781120..e82ffec6c 100644 --- a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4001.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests.csproj index 7ef0f0e21..114d2b2ee 100644 --- a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4031.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 $(DefineConstants);ROSLYN_4_3_1_OR_GREATER diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests.csproj index a67894b97..9600463f6 100644 --- a/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests.csproj @@ -1,7 +1,7 @@ - net472;net8.0;net9.0 + net472;net8.0;net9.0;net10.0 $(DefineConstants);ROSLYN_4_3_1_OR_GREATER;ROSLYN_4_12_0_OR_GREATER