我已经将我们的nuget包迁移到使用自包含图标支持。当我将它们发布到MyGet时,我们在Visual Studio包管理器UI中看不到图标图像。
这是一个bug吗?是否有人使用自包含的图标将nuget包发布到MyGet,并在VS包管理器UI中显示?
发布于 2021-03-10 17:40:57
好的。这是一个问题,请查看this link。打包到nupkg中的独立图标不能在本地nuget包源上使用。
所以我的建议是:
建议
的一个建议是,你可以将你的nuget包上传到nuget.org。
的第二个是使用图标地址。在网站上卸载你的图标。
新的-sdk格式的lib包:
<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
实际上删除了、PackageIconUrl和iconUrl。感谢您的指导。
但当我在新的sdk风格( net core或net标准)库项目中测试时,我可以在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项目,使用dotnet pack命令行或在解决方案Explorer-->Pack.上右键单击该项目
注意:我的VS是VS2019社区16.8.6,如果您的VS2019太旧,请先更新它。
也叫,PackageSources5是本地提要。

除了之外,如果你使用的是非的风格的net框架项目,那么它实际上是可以做到的。你应该使用msbuild -t:pack而不是传统的nuget pack来定制nuspec文件。
1)在lib项目上安装一个名为NuGet.Build.Tasks.Pack的nuget包,并记住应该使用nuget格式进行安装。如果没有,您应该右键单击packages.config文件-->Migrate packages.config you 。
2)删除项目文件夹中的bin和obj文件以及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按钮,它可以在project folder\Debug or Release\下生成nupkg文件。


https://stackoverflow.com/questions/66559673
复制相似问题