-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Download tool packages from NuGet feeds directly, instead of implicitly restoring #31134
Comments
Is this what was requested in #22349? Which was closed because "we won't be able to make this change." |
@nkolev92 any insight into @KalleOlaviNiemitalo's question? To me, for tools specifically, we should be able to
|
Tools depends on restore for assets and compatibility selection. I think it's a lot of code that you'd have to maintain separately that duplicates a lot of what restore does today. |
When you say assets and compatibility - for tools we know what the TFM, architecture, and OS platform should be - the ones from the currently-running host and SDK installation. Isn't that enough to serve as inputs into the selection algorithm? |
The SDK does know everything it needs to, but restore is not necessarily written like a library, but rather a tool, which is why I think maintaining multiple workflows could potentially be costly. In the past, downloading was not done on the SDK side either, so there's some API knowledge on that end, so maybe those concerns are lesser now. |
Merged! |
Is your feature request related to a problem? Please describe.
Currently to install a .NET SDK tool we acquire the nuget package by restoring a temporary project. This has a number of side effects, which often show up as flaky restore errors because MSBuild concepts like Directory.Build.props, or other heirarchical notions, pollute the restore.
Describe the solution you'd like
We should query NuGet APIs for explicit versions of tool packages to download, and download them via the NuGet API (of course handling authentication, NuGet.config files, etc in a consistent manner as
Restore
does).The text was updated successfully, but these errors were encountered: