GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Update Find-Dotnet to find dotnet with compat SDK by rkeithhill · Pull Request #5341 · PowerShell/PowerShell

Conversation

@rkeithhill

@rkeithhill Keith Hill (rkeithhill) commented Nov 4, 2017 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

Fix #5260 - with this fix, folks shouldn't run afoul of the SDK version mismatch check.

Note: the branch name turns out to be a little misleading. Read further.

The approach is to see if the dotnet in the current PATH has a compatible SDK. Folks will have a globally installed dotnet if they've installed VS or have installed the .NET Core SDK themselves. The global dotnet may not have access to the SDK required by PSCore. That is, the global dotnet cannot see user local dotnet SDK installs. So if the global dotnet doesn't have the right SDK, we prepend the path to the user's local dotnet dir.

Also, update $dotnetCLIRequiredVersion to read its value from global.json so there is one less source of the truth (for the SDK version).

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

bergmeister reacted with hooray emoji
All reactions
  • 🎉 1 reaction
@rkeithhill
Update Find-Dotnet to find dotnet with compat SDK
762f2e5
Fix PowerShell#5260 - with this fix folks shouldn't hit the version mismatch check.

The approach is to see if the dotnet in the current PATH has a compatible SDK.  Folks will have a globall installed dotnet if they've installed VS, VSCode C# ext or have  installed the .NET Core SDK.  This verion may not have the SDK required by PSCore.  And the global cannot see user local dotnet SDK installs.  So if the global dotnet doesn't have the right SDK, we prepend the path to the user's local dotnet dir.

Also, updateed $dotnetCLIRequiredVersion to read its value from global.json so there is one less source of the truth (for the SDK version).
@rkeithhill
Keith Hill (rkeithhill) requested review from Travis Plunk (TravisEz13), Aditya Patwardhan (adityapatwardhan) and Dongbo Wang (daxian-dbw) as code owners November 4, 2017 23:40
@TravisEz13 Travis Plunk (TravisEz13) assigned Aditya Patwardhan (adityapatwardhan) Nov 5, 2017
iSazonov
Ilya (iSazonov) reviewed Nov 5, 2017
View reviewed changes
Comment thread build.psm1

$dotnetCLIChannel = "release"
$dotnetCLIRequiredVersion = "2.0.2"
$dotnetCLIRequiredVersion = $(Get-Content $PSScriptRoot/global.json | ConvertFrom-Json).Sdk.Version

@iSazonov Ilya (iSazonov) Nov 5, 2017

Copy link
Copy Markdown
Collaborator

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.

Should we stop if global.json does not contain Sdk version?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@rkeithhill Keith Hill (rkeithhill) Nov 5, 2017

Copy link
Copy Markdown
Collaborator Author

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 would be highly unusual for global.json to be missing that field since that's about its only purpose.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@rkeithhill Keith Hill (rkeithhill) mentioned this pull request Nov 5, 2017
Fix Start-PSBuild on WSL if repository was already built on Windows #5346
Merged
@bergmeister

Christoph Bergmeister (bergmeister) commented Nov 5, 2017

Copy link
Copy Markdown
Contributor

That's great. I found the old behaviour really annoying because every update of VS Preview always installed the .Net Core SDK (sometimes it even ended up with multiple installations of the same version!)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

daxian-dbw
Dongbo Wang (daxian-dbw) approved these changes Nov 6, 2017
View reviewed changes
TravisEz13
Travis Plunk (TravisEz13) approved these changes Nov 6, 2017
View reviewed changes
adityapatwardhan
Aditya Patwardhan (adityapatwardhan) approved these changes Nov 10, 2017
View reviewed changes
@adityapatwardhan
Aditya Patwardhan (adityapatwardhan) merged commit 34600c4 into PowerShell:master Nov 10, 2017
@rkeithhill
Keith Hill (rkeithhill) deleted the rkeithhill/always-use-downloaded-dotnet-sdk branch May 29, 2019 15:20
Thatgfsj (Thatgfsj) pushed a commit to Thatgfsj-contribs/PowerShell that referenced this pull request Aug 6, 2026
@rkeithhill @adityapatwardhan
Update Find-Dotnet to find dotnet with compat SDK (PowerShell#5341)
b4d9d5d
Fix PowerShell#5260 - with this fix folks shouldn't hit the version mismatch check.

The approach is to see if the dotnet in the current PATH has a compatible SDK.  Folks will have a globall installed dotnet if they've installed VS, VSCode C# ext or have  installed the .NET Core SDK.  This verion may not have the SDK required by PSCore.  And the global cannot see user local dotnet SDK installs.  So if the global dotnet doesn't have the right SDK, we prepend the path to the user's local dotnet dir.

Also, updateed $dotnetCLIRequiredVersion to read its value from global.json so there is one less source of the truth (for the SDK version).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@iSazonov Ilya (iSazonov) iSazonov left review comments
@daxian-dbw Dongbo Wang (daxian-dbw) daxian-dbw approved these changes
@TravisEz13 Travis Plunk (TravisEz13) TravisEz13 approved these changes
@adityapatwardhan Aditya Patwardhan (adityapatwardhan) adityapatwardhan approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@adityapatwardhan Aditya Patwardhan (adityapatwardhan)

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

.NET Core tools version check in build.psm1 blocks the build

Uh oh!

There was an error while loading. Please reload this page.

6 participants

@rkeithhill @bergmeister @daxian-dbw @TravisEz13 @adityapatwardhan @iSazonov
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.