[release/dev18.0] Consider PATH again when searching for dotnet host #81553
+279
−58
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.
Backport of:
Description
Fixes dotnet/msbuild#12669. Before the change to use csc apphost, we were searching for
dotnet.exeeither fromDOTNET_HOST_PATHorPATH. With csc apphost (#80026) we regressed this by considering the dotnet host only fromDOTNET_HOST_PATH(and passing that asDOTNET_ROOTto the apphost) - but that variable is not provided by MSBuild older than 18.x (where the previous non-apphost implementation would work fine since it would fallback to findingdotnet.exeinPATH).Customer impact
We've seen several dotnet repos hit this when updating to .NET 10 SDK. It can be worked around by explicitly setting
DOTNET_HOST_PATHenv var before build, but that's not very straightforward nor ergonomic.Regression
Yes, this has worked before .NET 10 RC2.
Testing
Unit tests.
Risk
Low. Only brings back previous behavior.