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>
      

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