嵌入到 NuGet 包中的图标没有出现在 VS 中

Embedded into NuGet package icon doesn't appear in VS

我使用下面的 nuspec 文件生成了一个 nuget 包:

<?xml version="1.0" encoding="utf-8"?>
<package >
  <metadata>
    <id>CommonLib</id>
    <version>1.2.3</version>
    <authors>ABC</authors>
    <owners>ULC</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="file">Licenses\License.txt</license>
    <icon>Icons\Icon.PNG</icon>
    <description>Common References</description>
    <copyright>Copyright (c) 2020</copyright>
    <tags>Common</tags>

      <dependencies>
          <group targetFramework="net48" />
      </dependencies>
  </metadata>

  <files>
      <file src="lib\net48\Common*.dll" target="lib/net48" />
      <file src="Licenses\License.txt" target="Licenses\" />
      <file src="Icons\Icon.PNG" target="Icons\" />
  </files>
</package>

打包源数据的文件夹结构如下:

RootDir
    Icons
        Icon.png
    lib
        net48
            Abc.dll
            Common1.dll
            Common2.dll
            xyz.dll
    Licenses
        License.txt
    My.nuspec

我成功生成了。但是,无论我是在本地还是在我的 Azure Artifacts 中托管它作为私有提要,然后当我在 VS2017 中浏览(这是我目前安装的)为项目安装时,生成的包都不会显示其嵌入式图标,而是显示默认的 nuget 包图标。我尝试从我的本地提要或 Azure 私人提要浏览,同样的事情。我嵌入到 nuget 包中的图标没有被使用的原因是什么?

Embedded into NuGet package icon doesn't appear in VS

实际上,这是nuget的一个众所周知的问题,对于创建我们自己的nuget feed,包源,或者本地地址,包中无法显示nuget图标管理 UI。看到这个 .

因此,如果您在此 github link 中添加评论以引起工作人员的注意,以便他们可以集中精力解决问题。

你的情况,你使用私有本地nuget feed安装这样的nuget包,无法实现,目前最新版本nuget.exe v5.5.1不支持.

解决方案

请将您的 nuget 包上传到 nuget.org 网站,然后使用 nuget.org nuget 提要安装您的 nuget 包。

并且nuget.org支持自定义图标显示你的nuget包。

然后就可以直接使用nuget.org安装自己的nuget包了

我已经测试过了:

本地供稿:

nuget.org 网站:

此外,您可以在 Our User Voice Forum 中建议此功能以反映您的想法