Comparing v18.5.0...v18.5.1 · microsoft/vstest (original) (raw)
Commits on Apr 23, 2026
- Add DtaLikeHost repro for SCI 8.0.0 binding mismatch
Minimal net472 console app that consumes Microsoft.TestPlatform 18.5.0
package the way Azure DevOps' Distributed Test Agent does: references
Common.dll from the package's tools/net462/.../TestPlatform layout and runs
without any binding redirects in app.config.
Constructs a FilterExpressionWrapper with a simple equality filter, which
triggers FastFilter.Builder (uses ImmutableDictionary) and forces the CLR
to resolve System.Collections.Immutable.
Repros the FileLoadException reported by customers:
Common.dll metadata requires System.Collections.Immutable v8.0.0.0, but
the package ships v9.0.0.0 next to it.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com - Fix SCI 8.0.0 binding mismatch in Common.dll; add DTA integration test
Common.dll (net462, shipped in the Microsoft.TestPlatform nupkg and the
V2.CLI VSIX) used to have a compiled metadata ref to
System.Collections.Immutable 8.0.0.0 while we ship SCI 9.0.0.0 next to it.
Hosts without the '1.0.0.0-9.0.0.0 -> 9.0.0.0' binding redirect
(Azure DevOps' DTAExecutionHost, some VS components) FileLoadException
the moment FastFilter.Builder touches SCI.
Fix: add an explicit System.Collections.Immutable PackageReference to
CoreUtilities and ObjectModel, gated on TargetFrameworkIdentifier ==
.NETFramework, so the compile-time SCI ref in the net462 Common.dll is
9.0.0. This only affects the net462 build (the one we ship next to SCI
9.0.0), keeps the netstandard2.0 ref on 8.0.0 to avoid breaking net8.0
datacollector, and touches zero app.config redirects - no VSIX/VS
servicing needed.
Turn the DtaLikeHost repro into an automated acceptance test with two
variants: one against the nupkg's tools/net462/... layout (as DTA
consumes it), one against the flat V2.CLI VSIX layout (as VS consumes
it). Both load Common.dll with no binding redirects and call
FilterExpressionWrapper; before the fix both fail with the customer's
FileLoadException.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Configuration menu
Browse the repository at this point in the history
2. Port verify-binding-redirects.ps1 to rel/18.5 (#15719)
Ports the binding redirect verification script (and verify-nupkgs.ps1 wiring)
from main/rel/18.7. Running against the shipped Microsoft.TestPlatform.*.nupkg
layout, the script validates that the newVersion of each assembly binding
redirect in vstest.console, testhost.x86, and datacollector app.config files
matches the actual assembly version of the DLL shipped next to the exe.
In CI it fails with instructions; locally it auto-fixes the app.config files.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Configuration menu
Browse the repository at this point in the history
3. Configuration menu
Browse the repository at this point in the history