Remove xcopy-msbuild support from Arcade and scripts#16660
Merged
ViktorHofer merged 4 commits intomainfrom Apr 1, 2026
Merged
Conversation
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
akoeplinger
reviewed
Apr 1, 2026
akoeplinger
reviewed
Apr 1, 2026
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
approved these changes
Apr 1, 2026
akoeplinger
reviewed
Apr 1, 2026
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>
akoeplinger
approved these changes
Apr 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 inInitializeVisualStudioMSBuild. RemoveInstallXCopyMSBuildandInitializeXCopyMSBuildfunctions,$defaultXCopyMSBuildVersion, and$env:ForceUseXCopyMSBuildcheck. If VS isn't found, the function now throws immediately. Remove the now-unused$installparameter fromInitializeVisualStudioMSBuild. Bump minimum VS version from17.7to18.0.eng/common/sdk-task.ps1: Replace xcopy-msbuild initialization with direct call toInitializeVisualStudioMSBuild.Deleted
eng/xcopy-msbuild/: Pipeline, build script, VS Build Tools installer, and nuspec for theMicrosoft.DotNet.Arcade.MSBuild.Xcopypackage.Documentation: Remove xcopy-msbuild configuration section from
Documentation/ArcadeSdk.md(global.json"xcopy-msbuild"key docs).To double check: