Skip to content
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

Merged

Conversation

severisv
Copy link
Contributor

@severisv severisv commented Mar 8, 2018

With this fix, DotNet.Cli looks for dotnet on path if it is not found in the default directory.

Fixes #1810 and #1599

if it is not in the default install directory fixes fsprojects#1810 fsprojects#1599
Copy link
Member

@matthid matthid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

match File.Exists defaultCliPath with
| true -> defaultCliPath
| _ ->
Process.tryFindFileOnPath "dotnet"
Copy link
Member

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?)...

Copy link
Contributor Author

@severisv severisv Mar 8, 2018

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).

Copy link
Member

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!

@matthid matthid changed the base branch from master to beta_024 March 9, 2018 16:33
@matthid matthid merged commit 4481e47 into fsprojects:beta_024 Mar 9, 2018
@matthid
Copy link
Member

matthid commented Mar 9, 2018

Thanks!

This was referenced Mar 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants