Skip to content

Publish Windows PDBs for Roslyn SDK - #85133

Merged
JoeRobich merged 2 commits into
dotnet:mainfrom
JoeRobich:joeyrobich/publish-roslyn-sdk-symbols
Sep 3, 2026
Merged

Publish Windows PDBs for Roslyn SDK#85133
JoeRobich merged 2 commits into
dotnet:mainfrom
JoeRobich:joeyrobich/publish-roslyn-sdk-symbols

Conversation

@JoeRobich

@JoeRobich JoeRobich commented Sep 2, 2026

Copy link
Copy Markdown
Member

Fixes the missing symbols reported by DevDiv work item 3058528: https://dev.azure.com/devdiv/DevDiv/_workitems/edit/3058528/

The Roslyn SDK VSIX ships five assemblies whose embedded or portable PDBs were not compatible with the legacy VS insertion symbol store. Enable Windows PDB publishing for those projects and re-enable Arcade's CI-only PDB converter so SymStore.targets converts the PDBs and Publish.proj includes them in the symbol-server payload.

Validation:

  • dotnet build src/RoslynSdk/VisualStudio.Roslyn.SDK/Roslyn.SDK/Roslyn.SDK.csproj --no-restore --configuration Release --nologo
  • Confirmed all five projects evaluate PublishWindowsPdb=true and UsingToolPdbConverter=true.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 89059e67-5d84-463f-a6e1-b4d8d1181054
Copilot AI lite review requested due to automatic review settings September 2, 2026 15:44
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The change is a minimal, low-risk per-project override of an existing repo-wide default property and is consistent across all five intended projects.

Review tier: Lite
Findings: None

What changed in this PR

This PR enables Arcade’s Windows PDB publishing for five Roslyn SDK VSIX projects by setting PublishWindowsPdb=true in each project file, so symbol publishing can include Windows-format PDBs for legacy VS insertion symbol store compatibility.

Changes:

  • Set <PublishWindowsPdb>true</PublishWindowsPdb> in 5 Roslyn SDK projects that ship in the VSIX.
  • Ensure these projects override the repo default (PublishWindowsPdb=false from eng/targets/Settings.props) only where needed.
File Description
src/​RoslynSdk/​VisualStudio.Roslyn.SDK/​SyntaxVisualizer/​Roslyn.SyntaxVisualizer.Extension/​Roslyn.SyntaxVisualizer.Extension.csproj Enables Windows PDB publishing for the Syntax Visualizer extension assembly.
src/​RoslynSdk/​VisualStudio.Roslyn.SDK/​SyntaxVisualizer/​Roslyn.SyntaxVisualizer.DgmlHelper/​Roslyn.SyntaxVisualizer.DgmlHelper.vbproj Enables Windows PDB publishing for the DGML helper assembly.
src/​RoslynSdk/​VisualStudio.Roslyn.SDK/​SyntaxVisualizer/​Roslyn.SyntaxVisualizer.Control/​Roslyn.SyntaxVisualizer.Control.csproj Enables Windows PDB publishing for the Syntax Visualizer control assembly.
src/​RoslynSdk/​VisualStudio.Roslyn.SDK/​Roslyn.SDK.Template.Wizard/​Roslyn.SDK.Template.Wizard.csproj Enables Windows PDB publishing for the template wizard assembly.
src/​RoslynSdk/​VisualStudio.Roslyn.SDK/​ComponentDebugger/​Roslyn.ComponentDebugger.csproj Enables Windows PDB publishing for the component debugger assembly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 89059e67-5d84-463f-a6e1-b4d8d1181054
Copilot AI review requested due to automatic review settings September 2, 2026 16:16
@JoeRobich
JoeRobich requested a review from a team as a code owner September 2, 2026 16:16
@JoeRobich

Copy link
Copy Markdown
Member Author

/pr-val

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

View PR Validation Run triggered by @JoeRobich

Parameters
  • Validation Type: pr-val
  • Pipeline ID: 8972
  • Pipeline Version: main
  • PR Number: 85133
  • Commit SHA: cb8d78d833902e7195f31da3904ee935cfae2c4b
  • Source Branch: joeyrobich/publish-roslyn-sdk-symbols
  • Target Branch: main
  • Build ID: 15185149

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

UsingToolPdbConverter is enabled unconditionally, which conflicts with the PR’s “CI-only” framing and may unnecessarily impact local/non-Windows builds unless intentionally desired.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Lite
Findings: 1 Medium severity

New issues introduced by this change (1)
Severity Finding
Medium severity eng/​Versions.propsUsingToolPdbConverter is now enabled unconditionally for all builds/OSes. The PR description says…

Comment thread eng/Versions.props
Comment on lines 138 to 142
<PropertyGroup>
<UsingToolVSSDK Condition="$([MSBuild]::IsOSPlatform('Windows'))">true</UsingToolVSSDK>
<UsingToolPdbConverter>false</UsingToolPdbConverter>
<UsingToolPdbConverter>true</UsingToolPdbConverter>
<UsingToolSymbolUploader>true</UsingToolSymbolUploader>
<UsingToolNuGetRepack>true</UsingToolNuGetRepack>
@dotnet dotnet deleted a comment from github-actions Bot Sep 2, 2026
@JoeRobich
JoeRobich enabled auto-merge (squash) September 2, 2026 20:11
@JoeRobich
JoeRobich merged commit f509878 into dotnet:main Sep 3, 2026
26 checks passed
@dotnet-policy-service dotnet-policy-service Bot added this to the Next milestone Sep 3, 2026
JoeRobich added a commit that referenced this pull request Sep 3, 2026
Fixes the unrelated `TestMultiFile_EditTransitiveDirective` failure
observed while validating #85133 in Azure DevOps build 1579046.

The test wrote the entry-point file and immediately waited for workspace
operations. On slower CI machines, that waiter could complete before the
file watcher delivered the change and enqueued the project reload,
leaving the expected `Util2` diagnostic in the workspace. Subscribe
before writing the file and wait for the matching file-change
notification before waiting for project load.

The intermediate assertion continues to reproduce #85112; this only
stabilizes the final reload assertion.

Validation:
- Reproduced the failure locally before the change.
- Focused test passes both `mutatingLspWorkspace` variants.
- Repeated the focused test five times (10 total test cases), all
passing.
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/dotnet/roslyn/pull/85138)

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot-Session: bc8789c2-ae66-4934-836a-c1b0bc53f224
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