0

我一直在将我们的 nuget 包迁移到使用自包含图标支持。当我将它们发布到 MyGet 时,我们在 Visual Studio 包管理器 UI 中看不到图标图像。

这是一个错误吗?有没有其他人使用独立的图标向 MyGet 发布了一个 nuget 包,并且它们显示在 VS 包管理器 UI 中?

4

1 回答 1

1

当然。这是一个问题并检查此链接。打包到 nupkg 中的自包含图标不能在本地 nuget 包源上使用。

所以我的建议是:

建议

一个建议是您可以将 nuget 包上传到 nuget.org。

是使用图标Url。在网站上卸载您的图标。

新的sdk格式库包:

<PackageIconUrl> https://company.com/icon.png </PackageIconUrl>

nuspec 文件与此:

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata minClientVersion="3.3">
    <icon>images\icon.png</icon>
    <iconUrl>https://company.com/icon.png</iconUrl>
  </metadata>
  <files>
    <file src="..\..\icon.png" target="images\icon.png" />
  </files>
</package>

更新 1

实际上PackageIconUrliconUrl被删除。并感谢您的指导。

但是当我在一个新的 SDK风格(网络核心或网络标准)的 lib 项目中进行测试时,我可以在csproj文件中使用这些:

 <PropertyGroup>
        <PackageId>moqq</PackageId>
        <Version>1.0.0</Version>
        <Authors>me</Authors>
        <PackageIcon>images\test.png</PackageIcon>              
 </PropertyGroup>
 <ItemGroup>
        <None Include="mysql.png" Pack="true" PackagePath="images"></None>
 </ItemGroup>

使用PackageIcon节点似乎有效。对于 new-sdk 项目,使用命令行或在 Solution Explorer--> Packdotnet pack上右键单击项目。

注意:我的VS是VS2019 Community 16.8.6,如果你的VS2019太旧,请先更新。

此外PackageSources5是本地饲料。

在此处输入图像描述

另外,如果你用的是非sdk风格的net framework项目,其实也可以。您应该使用msbuild -t:pack而不是带有自定义 nuspec 文件的传统 nuget 包。

1)在 lib 项目上安装一个名为NuGet.Build.Tasks.Pack的 nuget 包,并记住您应该使用PackageReference格式来安装它。如果没有,您应该右键单击该packages.config文件-->将 packages.config 迁移到 PackageReference中。

2)在你的项目文件夹中删除binobj文件以及nuspec文件,该文件是多余的,如果它存在,它会影响msbuild -t:pack.

3)将这些添加到csproj文件底部的csproj文件中:

<PropertyGroup>
        <PackageId>moqqq</PackageId>
        <Version>1.0.0</Version>
        <Authors>me</Authors>
        <PackageIcon>images\test.png</PackageIcon>
        <PackageIconUrl></PackageIconUrl> 
         
</PropertyGroup>
<ItemGroup>
        <None Include="test.png" Pack="true" PackagePath="images"></None> 
</ItemGroup>

您还可以添加csproj文件:

<PropertyGroup>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

之后,点击Rebuild按钮,它可以在 . 下生成 nupkg 文件project folder\Debug or Release\

在此处输入图像描述

在此处输入图像描述

于 2021-03-10T09:40:56.680 回答