Visual Studio does in its Online tab. This is most likely because the package metadata returned from nuget.org, for example, does not give you enough information that it is a solution only package.

The HasProjectContent() extension method you are using to check if it is a solution only package needs the package downloaded since it looks inside for various files. If you are searching available packages you do not want to have to download any packages until you actually install them. So we probably only want to use HasProjectContent() if the package is locally installed.