-
Notifications
You must be signed in to change notification settings - Fork 588
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Look for dotnet on path if it is not in the default install directory #1813
Look for dotnet on path if it is not in the default install directory #1813
Conversation
if it is not in the default install directory fixes fsprojects#1810 fsprojects#1599
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
src/app/Fake.DotNet.Cli/DotNet.fs
Outdated
match File.Exists defaultCliPath with | ||
| true -> defaultCliPath | ||
| _ -> | ||
Process.tryFindFileOnPath "dotnet" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this work on windows? I can never remember this.
The only other question is if we need to know when we take this path, because we need to ensure that this is the correct version? (or should we implicitly assume the dotnet installer script did this check?)...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It works on Windows, that's what I use :)
When it comes to versioning, I believe dotnet CLI chooses the appropriate SDK based on global.json. If there is no global.json present it will select the newest one.
While there is a risk of getting the wrong SDK-version, I would say it is ultimately the responsibility of the consumer to specify either a direct path to the correct SDK or an SDK-version in global.json (that she knows is installed).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
global.json
is highly frustrating for developers when switching between projects. So I personally don't use it. Instead I trust FAKE to ensure it uses the correct version when I specify the version explicitly... (Honestly, I'm OK with using a different version locally, as long as CI checks against a specific version)
But I'll take a look, thanks for the change!
Thanks! |
With this fix, DotNet.Cli looks for
dotnet
on path if it is not found in the default directory.Fixes #1810 and #1599