Aviso do NuGet NU5048

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

Problema

A URL do ícone foi preterida a favor da incorporação do ícone dentro do pacote NuGet. Causas possíveis:

  • Ao criar um pacote a partir de um arquivo nuspec, ele contém uma entrada <iconUrl/>.
  • Ao criar um pacote a partir de um arquivo de projeto do MSBuild, ele contém uma propriedade <PackageIconUrl>.

Solução

Para deixar de ver esse aviso, adicione um ícone incorporado ao seu pacote.

Para arquivos de projeto do MSBuild, adicione uma propriedade <PackageIcon/> da seguinte maneira:

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

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

Para arquivos nuspec, adicione uma entrada <icon/> que aponte para o arquivo que será o ícone do pacote:

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

Saiba mais sobre como empacotar um arquivo de imagem de ícone.