Remove the temporary NetCoreSdkRoot drive-casing MSB4216 workaround once the msbuild fix reaches the supported VS + SDK floor (#17039)
- Dominant language
- C#
- Stars
- 729
- Forks
- 397
- Avg merge
- 3d 15m
- Merged PRs (30d)
- 149
Description
Tracking issue to delete the temporary workaround added in #17039 (builds on #17002).
It compensates for the case-sensitive .NET task host handshake salt. The permanent fix is bilateral and ships outside Arcade:
- `dotnet/msbuild#14026` — root cause (OPEN)
- `dotnet/msbuild#14027` — permanent child-side salt widening (OPEN)
**Remove when:** the minimum VS and minimum .NET SDK versions used across Arcade-consuming CI both carry the salt normalization (not merely when the msbuild issues close).
**Acceptance criteria**
- Delete the `NormalizeNetCoreSdkRootCasing` target, the `NormalizeSdkRootDriveCasing` task, and the two knobs from `Workarounds.targets`.
- Restore the bare `` root (drop `InitialTargets="NormalizeNetCoreSdkRootCasing"`).
- Confirm `MSB4216` does not recur on the affected ADO/CodeQL agents (e.g. the `microsoft-testfx` CodeQL pipeline used to validate #17039).
- Close/supersede #17051 if still open.
**Trigger / watch:** dotnet/msbuild#14026, dotnet/msbuild#14027, and their availability in shipped VS + .NET SDK.
Contributor guide
Research direction
Start by checking dotnet/msbuild#14026 and #14027 and confirming the supported VS and .NET SDK versions used by Arcade-consuming CI include the shipped fix. Then inspect Workarounds.targets and the files defining the workaround, remove the named target, task, knobs, and InitialTargets setting, and validate the affected ADO/CodeQL pipeline, including microsoft-testfx, without an MSB4216 recurrence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system, ci-cd
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100