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>

アイコン イメージ ファイルのパッケージ化について詳しくは、こちらをご覧ください