Nugetgallery: Package discovery: Show and search by TFM/package-compatibility

Created on 28 Jun 2016  路  23Comments  路  Source: NuGet/NuGetGallery

A feature request: I'd like to browse packages compatible with .NET Core

Most the packages on https://www.nuget.org/packages seem not to be, so it would be useful to shortlist those that are

>dotnet restore
Package Microsoft.Net.Http 2.2.29 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). 
One or more packages are incompatible with .NETCoreApp,Version=v1.0.
Feature

Most helpful comment

It is extremely necessary that we have a separate list for .NET Core compatible packages to allow ease of use.

All 23 comments

It is extremely necessary that we have a separate list for .NET Core compatible packages to allow ease of use.

It is a must. Please implement it in some way. I wasted so much time today figuring out which dapper version is dotnet core and which is not.

Yea I can't really work with nuget without that feature

@harikmenon ?

Not only for .Net core but add tags for all supported platforms. It seems to me this could be easily done just after the upload during the package registration process in the db by looking at the folders present inside the lib/ folder. Having that info in the db, allows then adding a feature in the gallery to allow filtering per tags. Really looking forward to having that great feature!

Yes - this is an issue. Visually browsing I cannot see if packages are compatible with .NET Core, thus it is impossible to select the right packages to install without actually attempting the install. It would also be nice in applications that use NuGet, if they could also filter by target runtime. Frequently versions are shown that cannot be restored on a .NET Core platform.

Issues #3098 (this one), #2936 and #2787 all seem to be using different words to talk about the same feature.

"compatible with .NET Core" is not the right wording for this issue as there are many cores already. We need to be able to search by target tfm, I.E. "gimme packages compatible with .NET Standard 1.4". Or "gimme packages compatible with PCL profile111" etc.

Agreed, being able to do advanced filtering by TFMs would be great.

Agreed, completely

I really believe it would be a boon to the .net community if this were implemented.

By way of an example:

Just today I wanted to replace an "old" piece of Java software I had written to run on .NET core (C#). This piece of technology CURRENTLY has a dependency on Beanstalkd. It would have been VERY helpful for me to be able to limit my search on Nuget.org for packages that were compatible with core.

@anangaur

I agree - its almost impossible to program to .net core because this does not exist

Not impossible, just a pain in the *. Google is better to find nugget .net core packages then nugget search itself... This is sad that this major feature is missing...

Definitely we need this list - I am spending so much time trying to work out which nuget package is .net core compatible!!!!!!!

Any updates please?

We have been thinking about this feature in general. For search by TFMs (and other compats) from within VS, the issue is here: https://github.com/NuGet/Home/issues/4071

This is in our backlog in next set of features to design and implement.

from within VS

Why only from within VS? The .NET ecosystem is bigger than VS now, specially with .NET Core encouraging development on platforms which can't even run VS.

@adamralph Agree. The issue I referenced talked about the VS scenario.
When we look at solving the improved search, it would be a general approach that will work across CLIs and also include web search.

Yes please, please implement this. Nuget seems like a bit of a minefield in VS.

What will be cool is if I could search for packages that are compatible with a particular TFM, but consider the other files in the package.

For example, let's say I want to search for "markdown" for "Xamarin.iOS".

NuGet world has several packages:

  • CoolMarkdown that supports net45
  • GreatMarkdown that supports net45 and netstandard1.3
  • AppleMarkdown that supports Xamarin.iOS

I would like my results to show GreatMarkdown and AppleMarkdown because:

  • AppleMarkdown supports Xamarin.iOS
  • GreatMarkdown supports netstandard1.3, which is supported by Xamarin.iOS

This should be possible to detect, because when installing a package, it can do this.

From https://developercommunity.visualstudio.com/content/idea/514054/ltshigh-level-version-management-within-nuget.html:

Chris Dibbern reported:

At least with respect to the System.* and Microsoft.* namespaces, the NuGet manager should be aware of your current high-level versioning target (example, .NET Core 2.1 LTS) and recommend only those versions that are compatible with it. Currently, it recommends 2.2+ for projects that otherwise target 2.1.

Exposing this functionality to other package families would also be very welcome and time-saving.

  • I would like TFM/Compatibility checkboxes added to search. Many packages use the term "Core" to indicate a library package used by other packages. You can't search on "core" to find .Net Core packages.
  • The search results should include TFM/Compatibility
  • The package page should prominently list TFM/Compatibility, the Info section might be a good candidate
Was this page helpful?
0 / 5 - 0 ratings