diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 908cd80ab3..0aac118ac0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -55,6 +55,10 @@ jobs:
build-prism-forms:
uses: avantipoint/workflow-templates/.github/workflows/msbuild-build.yml@v1
with:
+ # Prism.Forms builds the Xamarin.Android (MonoAndroid) target, whose language targets
+ # ship only with Visual Studio's Xamarin component. That component was dropped from
+ # windows-latest (VS 18) and windows-2025, so pin to windows-2022 which still includes it.
+ runs-on: windows-2022
name: Build Prism.Forms
solution-path: PrismLibrary_Forms.slnf
code-sign: true
diff --git a/Directory.Build.props b/Directory.Build.props
index 1b57ba9bdc..e40dc21cea 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -25,6 +25,15 @@
$(WarningsAsErrors);IDE0003
enable
+
+ false
+ false
@@ -129,6 +138,17 @@
+
+
+ Major
+
+
diff --git a/global.json b/global.json
index b5b460407f..b2984d4b69 100644
--- a/global.json
+++ b/global.json
@@ -1,4 +1,8 @@
{
+ "sdk": {
+ "version": "8.0.100",
+ "rollForward": "latestMinor"
+ },
"msbuild-sdks": {
"Microsoft.Build.NoTargets": "3.7.56",
"MSBuild.Sdk.Extras": "3.0.44",
diff --git a/tests/Prism.Core.Tests/Commands/AsyncDelegateCommandFixture.cs b/tests/Prism.Core.Tests/Commands/AsyncDelegateCommandFixture.cs
index 3db702283b..c1a6a0897f 100644
--- a/tests/Prism.Core.Tests/Commands/AsyncDelegateCommandFixture.cs
+++ b/tests/Prism.Core.Tests/Commands/AsyncDelegateCommandFixture.cs
@@ -135,7 +135,12 @@ public async Task ICommandExecute_UsesDefaultTokenSourceFactory()
Assert.True(command.IsExecuting);
cts.Cancel();
- await Task.Delay(10);
+
+ // Cancellation propagates asynchronously; a fixed delay races on slower CI agents.
+ // Poll until the command stops executing, bounded by a generous timeout.
+ var timeout = Task.Delay(2000);
+ while (command.IsExecuting && !timeout.IsCompleted)
+ await Task.Delay(10);
Assert.False(command.IsExecuting);
}