NuGet エラー NU5046

The icon file 'icon.png' does not exist in the package.

問題点

NuGet でパッケージ内のアイコン ファイルが見つかりません。

解決策

  • パッケージ アイコンとしてマークされているファイルがソースに存在し、読み取り可能であり、ターゲットが icon プロパティで予期されるパスと一致していることを確認します。
  • ファイルが nuspec またはプロジェクト ファイルで参照されていることを確認します。
    • MSBuild プロジェクト ファイルからパッケージを作成する場合は、次のようにプロジェクト内のアイコン ファイルを参照してください。

      <Project Sdk="Microsoft.NET.Sdk">
        <PropertyGroup>
            ...
            <PackageIcon>icon.png</PackageIcon>
            ...
        </PropertyGroup>
      
        <ItemGroup>
            ...
            <None Include="images\icon.png" Pack="true" PackagePath=""/>
            ...
        </ItemGroup>
      </Project>
      
    • nuspec ファイルからパッケージを作成する場合は、必ずアイコン ファイルを <files/> セクションに含めます。

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

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