GeezerVison is showing github.com — Update Find-Dotnet to find dotnet with compat SDK by rkeithhill · Pull Request #5341 · PowerShell/PowerShell
Conversation
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
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).
|
|
|
|
|
$dotnetCLIChannel = "release"
|
|
|
$dotnetCLIRequiredVersion = "2.0.2"
|
|
|
$dotnetCLIRequiredVersion = $(Get-Content $PSScriptRoot/global.json | ConvertFrom-Json).Sdk.Version
|
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.
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.
|
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!)
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Thatgfsj (Thatgfsj)
pushed a commit
to Thatgfsj-contribs/PowerShell
that referenced
this pull request
Aug 6, 2026
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).
Uh oh!
There was an error while loading. Please reload this page.
Milestone
No milestone
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.
|