首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyGet不显示nuget包自包含图标

MyGet不显示nuget包自包含图标
EN

Stack Overflow用户
提问于 2021-03-10 14:48:29
回答 1查看 168关注 0票数 0

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

这是一个bug吗?是否有人使用自包含的图标将nuget包发布到MyGet,并在VS包管理器UI中显示?

EN

回答 1

Stack Overflow用户

发布于 2021-03-10 17:40:57

好的。这是一个问题,请查看this link。打包到nupkg中的独立图标不能在本地nuget包源上使用。

所以我的建议是:

建议

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

的第二个是使用图标地址。在网站上卸载你的图标。

新的-sdk格式的lib包:

代码语言:javascript
复制
<PackageIconUrl> https://company.com/icon.png </PackageIconUrl>

nuspec文件,包含以下内容:

代码语言:javascript
复制
<?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风格( net core或net标准)库项目中测试时,我可以在csproj文件上使用以下代码:

代码语言:javascript
复制
 <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)删除项目文件夹中的binobj文件以及nuspec文件,该文件是冗余的,如果存在,将影响msbuild -t:pack

3)csproj文件底部的csproj文件中添加以下内容:

代码语言:javascript
复制
<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文件:

代码语言:javascript
复制
<PropertyGroup>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66559673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档