Commit cc8eddb
Normalize tools directory casing in task host handshake salt
The .NET task host handshake salt is a case-sensitive hash of a filesystem
path. The .NET Framework host passes the SDK directory ($(NetCoreSdkRoot))
as the tools directory while the child task host re-resolves it from its own
process location. On Windows these can differ only by drive-letter casing
(e.g. "D:\..." vs "d:\..."), which produced different salts and caused the
otherwise-valid handshake to fail with MSB4216 (seen with VS 18.6 launching
the .NET 11 SDK task host on hosted CI agents).
Normalize the tools directory casing on Windows before hashing so both sides
compute the same salt. The CLR2 MSBuildTaskHost (Windows-only) is normalized
unconditionally to match.
Fixes #14026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent bdbdde0 commit cc8eddb
3 files changed
Lines changed: 52 additions & 2 deletions
File tree
- src
- Build.UnitTests/BackEnd
- Framework/BackEnd
- MSBuildTaskHost
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
311 | 349 | | |
312 | 350 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
84 | 91 | | |
85 | 92 | | |
86 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
212 | | - | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
213 | 218 | | |
214 | 219 | | |
215 | 220 | | |
| |||
0 commit comments