如何在nuget包中添加图标?

时间:2016-07-12 12:40:33

标签: teamcity nuget-package

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

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

5 个答案:

答案 0 :(得分:10)

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

<package>
  <metadata>
    ...
    <icon>images\icon.png</icon>
    ...
  </metadata>
  <files>
    ...
    <file src="..\icon.png" target="images\" />
    ...
  </files>
</package>

来源:https://docs.microsoft.com/en-us/nuget/reference/nuspec#icon

<iconUrl>现在为deprecated

答案 1 :(得分:6)

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

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

答案 2 :(得分:0)

您可以在TeamCity服务器上托管图标,并在TeamCity to serve static HTML page中引用Orn Kristjansson:

  

这是一台Tomcat服务器,只需在安装了Teamcity的文件系统上运行,就应该能够找到可以在Teamcity网址上找到的html存放在何处。

答案 3 :(得分:-1)

我有一个解决方案。我在Windows 10上尝试成功。如果您必须在没有Internet的离线PC上安装应用程序,这将很有用。

  • 步骤1:
    将标签添加到nuspec文件的内容。类似于以下内容:

    <metadata> <id>....</id> ... <iconUrl>file://C:\app.ico</iconUrl> ... <copyright>....</copyright> </metadata>

  • 第2步:从上面的nuspec生成nupkg文件

  • 第3步:从nupkg文件生成exe文件

  • 步骤4: 将app.ico文件放在以下位置:C:\ app.ico。您可以根据nuspec文件中的<iconUrl>选择任何位置。几乎Windows PC都有“ C”驱动器盘。因此,如果您使用“ C”驱动器,则可以在另一台PC上安装.exe。)

  • 步骤5:运行exe文件以在PC上安装应用程序。

==========结果===========

在C:\ Users \“用户名” \ AppData \ Local \“ app_name”,您可以看到app.ico出现在已安装的应用程序文件夹中。

希望对您有帮助!

答案 4 :(得分:-3)

您可以将文件添加到nuspec内容文件夹,并以这种方式指定链接: 的&#34;文件://content/images/icon.ico" 您可以在此处找到更多信息:Packages containing Icon and License