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); }