NuGet 警告 NU5048

The 'PackageIconUrl'/'iconUrl' element is deprecated. Consider using the 'PackageIcon'/'icon' element instead. Learn more at https://aka.ms/deprecateIconUrl

问题

图标 URL 现已弃用,从而支持在 NuGet 包中嵌入图标。 可能的原因包括:

  • 从 nuspec 文件创建包时,它包含一个 <iconUrl/> 条目。
  • 从 MSBuild 项目文件创建包时,它包含一个 <PackageIconUrl> 属性。

解决方案

若不想再看到此警告,请将嵌入式图标添加到包。

对于 MSBuild 项目文件,请添加 <PackageIcon/> 属性,如下所示:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
      ...
      <PackageIcon>icon.png</PackageIcon>
      ...
  </PropertyGroup>

  <ItemGroup>
      ...
      <None Include="images\icon.png" Pack="true" PackagePath=""/>
      ...
  </ItemGroup>
</Project>

对于 nuspec 文件,请添加指向将作为包图标的文件的 <icon/> 条目:

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

详细了解如何打包图标图像文件