Skip to content

Bump Microsoft.VisualStudio.Diagnostics.Utilities to a release-branch build to fix SymbolCheck - #16322

Merged
Jakub Jareš (nohwnd) merged 2 commits into
rel/18.10from
fix/symcheck-diagnostics-utilities-18.10
Jul 30, 2026
Merged

Bump Microsoft.VisualStudio.Diagnostics.Utilities to a release-branch build to fix SymbolCheck#16322
Jakub Jareš (nohwnd) merged 2 commits into
rel/18.10from
fix/symcheck-diagnostics-utilities-18.10

Conversation

@azat-msft

@azat-msft Azat Mukhametshin (azat-msft) commented Jul 30, 2026

Copy link
Copy Markdown
Member

Fixes the SymbolCheck failure blocking VS Test Platform insertions into VS.

Problem

The VS insertion PR for rel/18.10/20260727.2 (VS !763202) fails Insertion Symbol Check with 4 unarchived files in Microsoft.VisualStudio.TestTools.TestPlatform.V2.CLI:

  • microsoft.visualstudio.enterprise.aspnethelper.dll
  • microsoft.visualstudio.diagnostics.utilities.dll
  • microsoft.visualstudio.architecturetools.pereader.dll
  • extensions\microsoft.visualstudio.architecturetools.pereader.dll

Auto-filed bug: 3038905.

Cause

All four come from a single version property in eng/Versions.props, which drives three PackageReferences in Microsoft.TestPlatform.csproj (lines 98-100) whose DLLs are bundled into the CLI vsix (...V2.CLI.csproj lines 104-109; PEReader ships twice, root + Extensions\).

The pin sits directly under a comment warning about this exact failure:

Make sure you are taking a version from a release branch (rel/d*) in VS. Otherwise there won't be symbols for the dlls in package, and it will create a symcheck bug on re-insertion into VS.

18.3.11401.5 has never been touched since d187201 ("Onboard to arcade") and is not a release-branch build, so no symbols were ever published for it.

Fix

Bump to 18.3.11527.243 - the newest stable on the vs-impl feed, and already used by MicrosoftInternalTestPlatformExtensions on line 76 of this same file, so it is a known-good release-branch build.

One line, covers all three packages and all four files.

Notes

  • Targets rel/18.10 because that is what the failing insertion is built from. Needs forward-porting to main, which carries the same stale pin (18.11 would otherwise regress).
  • Does not address the other failure on !763202, BackwardCompatibilityTest - that is handled VS-side by VS !764445, adding APICompat suppressions for the test-session APIs removed in Remove the experimental test session feature #16231.
  • Symbol availability is only truly verified at insertion time, so the real confirmation is a green SymbolCheck on the next insertion.

Verification

Checked with symchk from VS.Tools.VerifyInsertion.Tools against msdl, per the guidance on bug 3038905:

symchk.exe /s SRV*http://msdl.microsoft.com/download/symbols <dll>

Control - Microsoft.VisualStudio.Interop.dll, bundled in the same vsix and not reported by the failing check - PASSED, confirming the method is sound.

Scan of recent versions of Microsoft.VisualStudio.Diagnostics.Utilities:

Version symchk
18.3.11611.365 FAILED
18.3.11527.243 PASSED
18.3.11524.190 PASSED
18.3.11520.95 PASSED
18.3.11518.184 PASSED
18.3.11517.146 FAILED
18.3.11512.103 PASSED
18.3.11511.245 FAILED
18.3.11510.144 FAILED
18.3.11505.172 PASSED
18.3.11503.203 PASSED
18.3.11429.125 PASSED
18.3.11401.5 (current) FAILED

Symbol publishing is evidently inconsistent across builds, so the version cannot be picked by recency alone - it has to be checked.

At 18.3.11527.243, all three packages pass:

SYMCHK: FAILED files = 0
SYMCHK: PASSED + IGNORED files = 3

(Diagnostics.Utilities, Enterprise.AspNetHelper, ArchitectureTools.PEReader)

The pin at 18.3.11401.5 is not from a VS release branch, so its DLLs have
no symbols on the symbol server and SymbolCheck fails on every insertion.

This property drives three packages - Diagnostics.Utilities,
Enterprise.AspNetHelper and ArchitectureTools.PEReader - whose DLLs are
bundled into the CLI vsix, which is exactly the four files reported by
the failing check.

18.3.11611.365 is already used for MicrosoftInternalTestPlatformExtensions
in this same file, so it is a known-good release branch build.
Azat Mukhametshin (azat-msft) added a commit that referenced this pull request Jul 30, 2026
The pin at 18.3.11401.5 is not from a VS release branch, so its DLLs have
no symbols on the symbol server and SymbolCheck fails on every insertion.

This property drives three packages - Diagnostics.Utilities,
Enterprise.AspNetHelper and ArchitectureTools.PEReader - whose DLLs are
bundled into the CLI vsix.

18.3.11611.365 is already used for MicrosoftInternalTestPlatformExtensions
in this same file, so it is a known-good release branch build.

Forward-port of #16322 (rel/18.10) so 18.11 does not regress.
18.3.11611.365 was chosen because a sibling property already used it, but symchk against msdl shows it has no symbols published - same failure as the original pin.

18.3.11527.243 is the newest version where all three packages pass symchk.
@Evangelink
Amaury Levé (Evangelink) enabled auto-merge (squash) July 30, 2026 10:16
@nohwnd
Jakub Jareš (nohwnd) merged commit c051a5d into rel/18.10 Jul 30, 2026
19 of 20 checks passed
@nohwnd
Jakub Jareš (nohwnd) deleted the fix/symcheck-diagnostics-utilities-18.10 branch July 30, 2026 11:03
Amaury Levé (Evangelink) pushed a commit that referenced this pull request Jul 30, 2026
… build to fix SymbolCheck (main) (#16323)

* Bump Microsoft.VisualStudio.Diagnostics.Utilities to 18.3.11611.365

The pin at 18.3.11401.5 is not from a VS release branch, so its DLLs have
no symbols on the symbol server and SymbolCheck fails on every insertion.

This property drives three packages - Diagnostics.Utilities,
Enterprise.AspNetHelper and ArchitectureTools.PEReader - whose DLLs are
bundled into the CLI vsix.

18.3.11611.365 is already used for MicrosoftInternalTestPlatformExtensions
in this same file, so it is a known-good release branch build.

Forward-port of #16322 (rel/18.10) so 18.11 does not regress.

* Correct version to 18.3.11527.243 (verified to have symbols)

18.3.11611.365 was chosen because a sibling property already used it, but symchk against msdl shows it has no symbols published - same failure as the original pin.

18.3.11527.243 is the newest version where all three packages pass symchk.
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.

3 participants