Skip to content

Remove xcopy-msbuild support from Arcade and scripts#16660

Merged
ViktorHofer merged 4 commits intomainfrom
copilot/remove-xcopy-msbuild-support
Apr 1, 2026
Merged

Remove xcopy-msbuild support from Arcade and scripts#16660
ViktorHofer merged 4 commits intomainfrom
copilot/remove-xcopy-msbuild-support

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 1, 2026

xcopy-msbuild was a fallback mechanism to download MSBuild outside of VS. It's no longer needed: VS ships on a predictable monthly cadence, Arcade targets .NETCoreApp for msbuild tasks only, and the package itself was broken in various scenarios (missing fsharp/vcxproj targets).

Script changes:

  • eng/common/tools.ps1: Remove xcopy-msbuild as fallback option 3 in InitializeVisualStudioMSBuild. Remove InstallXCopyMSBuild and InitializeXCopyMSBuild functions, $defaultXCopyMSBuildVersion, and $env:ForceUseXCopyMSBuild check. If VS isn't found, the function now throws immediately. Remove the now-unused $install parameter from InitializeVisualStudioMSBuild. Bump minimum VS version from 17.7 to 18.0.
  • eng/common/sdk-task.ps1: Replace xcopy-msbuild initialization with direct call to InitializeVisualStudioMSBuild.

Deleted eng/xcopy-msbuild/: Pipeline, build script, VS Build Tools installer, and nuspec for the Microsoft.DotNet.Arcade.MSBuild.Xcopy package.

Documentation: Remove xcopy-msbuild configuration section from Documentation/ArcadeSdk.md (global.json "xcopy-msbuild" key docs).

To double check:

Remove the xcopy-msbuild fallback mechanism from build scripts, delete
the eng/xcopy-msbuild directory containing package build infrastructure,
and update documentation to remove references to xcopy-msbuild.

xcopy-msbuild is no longer needed since VS releases on a predictable
monthly schedule and Arcade now targets .NETCoreApp for msbuild tasks.

Agent-Logs-Url: https://github.com/dotnet/arcade/sessions/0ff4e211-0b9a-444d-86fa-0f7186180fc7

Co-authored-by: ViktorHofer <7412651+ViktorHofer@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove xcopy-msbuild support from Arcade and scripts Remove xcopy-msbuild support from Arcade and scripts Apr 1, 2026
Copilot AI requested a review from ViktorHofer April 1, 2026 13:37
Comment thread eng/common/tools.ps1 Outdated
Comment thread eng/common/tools.ps1 Outdated
@ViktorHofer
Copy link
Copy Markdown
Member

@copilot address feedback

…d $install parameter

- Bump $vsMinVersionReqdStr from '17.7' to '18.0' since only VS 18.0+ is supported
- Remove unused $install parameter from InitializeVisualStudioMSBuild
- Update all callers in tools.ps1 and sdk-task.ps1

Agent-Logs-Url: https://github.com/dotnet/arcade/sessions/e46b99b4-c90c-4262-8aa7-3ce772361bfd

Co-authored-by: ViktorHofer <7412651+ViktorHofer@users.noreply.github.com>
@ViktorHofer ViktorHofer marked this pull request as ready for review April 1, 2026 13:57
Comment thread eng/common/sdk-task.ps1 Outdated
akoeplinger
akoeplinger previously approved these changes Apr 1, 2026
InitializeVisualStudioMSBuild already defaults to its own minimum
version (18.0) when global.json has no vs entry, so the injected
fallback in sdk-task.ps1 was redundant.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ViktorHofer ViktorHofer merged commit 02aca1f into main Apr 1, 2026
8 of 9 checks passed
@ViktorHofer ViktorHofer deleted the copilot/remove-xcopy-msbuild-support branch April 1, 2026 16:02
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.

Remove xcopy-msbuild support from Arcade and scripts

3 participants