30
Vote

Allow embedding icon within nuget package

description

Treat relative url for IconUrl property as package relative.
This would allow for a more self-contained package, without needing to host the icon somewhere else.

comments

JeffHandley wrote Oct 27, 2013 at 5:57 AM

Here's a recent twitter chat about this:
https://twitter.com/JeffHandley/status/394274464130555904

Across the VS client and the Gallery, NuGet currently uses 4 sizes of the icon:
  1. 32x32
  2. 48x48
  3. 64x64
  4. 128x128
To best support multiple sizes like this, we should support ICO files that can have multiple sizes in them. The ICO file could be included at the root of the package, as "package.ico." When the package is uploaded to the NuGet Gallery, we would extract the file and host it on the gallery. The IconUrl exposed from the gallery on the feed would then point to nuget.org. When the VS client is showing the icon for a local package, it would use the package.ico file within the package instead of hitting an IconUrl.

The package could still contain an IconUrl for backwards compatibility, but the package.ico would take priority if it exists.

akoeplinger wrote Oct 28, 2013 at 8:12 AM

+1 for the package.ico solution.

FilipDeVos wrote Oct 28, 2013 at 6:40 PM

Yes, please. (In the mean time the license file could be added also, many licenses require you to ship the file with your software anyway.)

JeffHandley wrote Oct 28, 2013 at 6:56 PM

@FilipDeVos - Does NuGet need to do anything special with a License file included in the package? You could include LICENSE.TXT in the package today, at the root of the package. Are you asking for a package to be able to include that file in the package and have the license acceptance dialog provide a link to it when installing the package?

If so, can you please create a new work item for that? It certainly would make sense to implement the two features in the same release though.

FilipDeVos wrote Oct 28, 2013 at 9:10 PM

@JeffHandley I want to be able to point to the license.txt in the package from the nuspec file.

I created item https://nuget.codeplex.com/workitem/3792 for this.

outercurve wrote Oct 28, 2013 at 9:34 PM

I think this is generally a good idea; it gives the user more reliable information.

Could we consider using PNGs using standard naming conventions instead of ICOs? PNGs are standardized while ICOs are not. Additionally if you want to display it on the webpage, all you'll have to do is take the PNG out and link to it while ICO will require some processing, albeit minor.

maxtoroq wrote Mar 9 at 10:55 PM

What about using the data scheme? Not currently working with the VS Package Manager though.

rbirkby wrote Oct 21 at 12:22 PM

@maxtoroq Just for info, Artifactory supports nuget packages containing data scheme iconUrls