如何在nuget包中添加图标?

Mic*_*ael 11 teamcity nuget-package

我们通过Teamcity托管我们自己的nuget服务器.除了指定网址(http:// ...)之外,还有其他方法可以将图标添加到.nuspec文件中吗?

或者Teamcity中是否有可以托管这些图标的地方?

小智 15

如果您在GitHub存储库中有图标,则可以在GitHub.com上找到它,右键单击并"复制图像地址".然后将它放在.nuspec中.这对我有用:

<iconUrl>https://github.com/tcs1896/SharpChecker/blob/master/SharpChecker/SharpChecker/SharpChecker/Icon.png?raw=true</iconUrl>

  • 图标 url 将被弃用:https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#packageiconurl (2认同)

Wik*_*arz 9

NuGet 5.3.0开始,您现在可以使用<icon>提供相对于位于包中的JPEG或PNG图标文件的相对路径。

<package>
  <metadata>
    ...
    <icon>images\icon.png</icon>
    ...
  </metadata>
  <files>
    ...
    <file src="..\icon.png" target="images\" />
    ...
  </files>
</package>
Run Code Online (Sandbox Code Playgroud)

来源:https : //docs.microsoft.com/zh-cn/nuget/reference/nuspec#icon

<iconUrl>现在已弃用

  • 这个答案现在应该是正确的答案,因为前面提到的 iconUrl 已被弃用。 (3认同)

Evo*_*Ltd 7

不,这是使用iconUrl属性的唯一选项 - 请参阅NuSpec参考

我通常会选择在CDN服务而不是TeamCity上托管这样的共享图像 - CloudFlare提供免费服务.


Hak*_*tık 6

文档如下


从 NuGet 5.3 和 Visual Studio 2019 版本 16.3 开始,PackageIconUrl 已弃用,改用 PackageIcon 属性

因此,执行此操作的方法是将以下内容添加到您的.csproj

<PropertyGroup>
    <PackageIcon>icon.png</PackageIcon>
</PropertyGroup>

<ItemGroup>
    <None Include="YOUR_PATH_TO_ICON\icon.png" Pack="true" PackagePath="\" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)