Skip to content

Skip Roslyn SDK VSIX preparation under Core MSBuild - #85137

Merged
dibarbet merged 1 commit into
dotnet:mainfrom
dibarbet:dibarbet-skip-vsix-core-msbuild
Sep 3, 2026
Merged

Skip Roslyn SDK VSIX preparation under Core MSBuild#85137
dibarbet merged 1 commit into
dotnet:mainfrom
dibarbet:dibarbet-skip-vsix-core-msbuild

Conversation

@dibarbet

@dibarbet dibarbet commented Sep 2, 2026

Copy link
Copy Markdown
Member

Summary

  • skip Roslyn SDK VSIX project-reference preparation under Core MSBuild
  • preserve the existing VSIX preparation behavior under desktop MSBuild
  • align the condition with Arcade's VSSDK target import boundary

The unified VMR build uses Core MSBuild, where Arcade intentionally does not import Microsoft.VsSDK.targets. The integration test project was nevertheless requesting VSIXContainerProjectOutputGroup, causing MSB4057.

Validation

  • dotnet build .\src\RoslynSdk\VisualStudio.Roslyn.SDK\Test\Roslyn.SDK.IntegrationTests\Roslyn.SDK.IntegrationTests.csproj --no-restore -c Release -v:minimal
  • confirmed build 1578070 evaluated the project with DotNetBuildFromVMR=True, MSBuildRuntimeType=Core, and UsingToolVSSDK=true
Microsoft Reviewers: Open in CodeFlow

The VS SDK targets are intentionally not imported by Arcade when using Core MSBuild. Avoid requesting VSIXContainerProjectOutputGroup in unified VMR builds, while preserving desktop MSBuild behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 2, 2026 22:57
@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 narrowly-scoped MSBuild condition update that aligns with an existing repo pattern and reduces build failures under Core MSBuild without affecting desktop MSBuild behavior.

Review tier: Lite
Findings: None

What changed in this PR

This PR adjusts the Roslyn SDK integration test project’s VSIX project-reference preparation step so it only runs when building under desktop MSBuild, avoiding invoking VSSDK-only targets when building under Core MSBuild.

Changes:

  • Updated PrepareVsixProjectReferences to skip under MSBuildRuntimeType=Core while keeping existing behavior when using desktop MSBuild.
  • Prevents Core MSBuild builds from attempting the VSIXContainerProjectOutputGroup target when VSSDK targets are not available/imported.
File Description
src/​RoslynSdk/​VisualStudio.Roslyn.SDK/​Test/​Roslyn.SDK.IntegrationTests/​Roslyn.SDK.IntegrationTests.csproj Gates VSIX project-reference preparation on MSBuildRuntimeType != Core to avoid VSSDK target invocation under Core MSBuild.

@dibarbet
dibarbet enabled auto-merge September 3, 2026 01:12
@dibarbet
dibarbet merged commit bf067a4 into dotnet:main Sep 3, 2026
23 of 25 checks passed
@dibarbet
dibarbet deleted the dibarbet-skip-vsix-core-msbuild branch September 3, 2026 02:21
@dotnet-policy-service dotnet-policy-service Bot added this to the Next milestone Sep 3, 2026
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.

5 participants