Skip to content

update refs - #11

Merged
SimonCropp merged 3 commits into
mainfrom
update-refs
Aug 17, 2026
Merged

update refs#11
SimonCropp merged 3 commits into
mainfrom
update-refs

Conversation

@SimonCropp

@SimonCropp SimonCropp commented Aug 17, 2026

Copy link
Copy Markdown
Member

NEEDS A SQUASH ON MERGE

Update refs: xunit.v3 4.0

Bumps xunit.v3 from 3.2.2 to 4.0.0, plus the fallout from that major bump.

Package updates

Package From To
xunit.v3 3.2.2 4.0.0
Roslynator.Analyzers 4.16.0 4.16.1
SDK (global.json) 10.0.100 10.0.400

Removed packages

  • xunit.runner.visualstudio — a VSTest adapter. xunit.v3 4.x runs natively on
    Microsoft.Testing.Platform (MTP), so the adapter is dead weight.
  • Microsoft.NET.Test.Sdk — VSTest infrastructure, likewise unused under MTP.

Removing Microsoft.NET.Test.Sdk meant losing the OutputType=Exe it was setting
implicitly, and xunit.v3 requires test projects to be executable. Both test projects
now set <OutputType>Exe</OutputType> explicitly.

Opt in to MTP mode of dotnet test

xunit.v3 4.0 pulls in Microsoft.Testing.Platform 2.x, which dropped the VSTest bridge
on the .NET 10 SDK. Without the opt-in, dotnet test fails with:

Testing with VSTest target is no longer supported by Microsoft.Testing.Platform on
.NET 10 SDK and later.

The opt-in goes in global.json:

"test": {
  "runner": "Microsoft.Testing.Platform"
}

Note this is the .NET 10 mechanism — the older TestingPlatformDotnetTestSupport
MSBuild property no longer works, since MTP 2 removed that path on .NET 10.

build.cs needed no change: MTP mode still accepts the solution positionally, so the
existing DotNetTest("./src/Verify.Terminal.slnx", …) call works as-is.

Obsolete parallelization API

CollectionBehaviorAttribute.DisableTestParallelization is obsolete in 4.0, and the
build treats all warnings as errors, so this was a hard build failure. Replaced with
the new attribute in GlobalUsings.cs:

[assembly: Parallelization(Mode = ParallelMode.None)]

Behaviour is unchanged — the integration tests still run serially, which they need to
because Verify keeps global static naming state and these tests hit the real filesystem.

Verification

Full dotnet build.cs (Build → Test → Pack) is green: 54/54 tests passing across
net8.0 and net10.0, package produced, zero warnings.

@SimonCropp
SimonCropp marked this pull request as draft August 17, 2026 01:43
@SimonCropp
SimonCropp marked this pull request as ready for review August 17, 2026 01:54
@SimonCropp
SimonCropp merged commit 8118f20 into main Aug 17, 2026
2 checks passed
@SimonCropp
SimonCropp deleted the update-refs branch August 17, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants