NuGet 如何设置图标
在找 NuGet 的时候可以看到有趣的库都有有趣的图标,那么如何设置一个 NuGet 的图标?
在开始之前,请在nuget官方网站下载 NuGet.exe 同时设置环境变量
环境变量设置的方法就是将 NuGet.exe 放在一个文件夹,如 C:lindexi
然后右击计算机,属性高级环境变量,然后选择用户变量,双击 Path 添加 c:lindexi
就可以了
如果之前已经设置了环境变量,请尝试更新一下 NuGet 请使用下面命令
nuget update -self
在 NuGet 包显示图标的原理是在 nuspec 文件存在图标或图片链接
尝试使用 dotnet 打包的方法打包一个应用
在命令行输入下面代码创建一个 web 应用
dotnet new webapi -o Lindexi
这样就创建出一个 webapi 的应用,因为 web 应用默认是不能打包,需要修改 Lindexi.csproj 文件,添加下面代码
<PropertyGroup>
<IsPackable>true</IsPackable>
</PropertyGroup>
通过下面代码可以打包
dotnet pack
在 binddebug
文件夹可以找到 Lindexi.1.0.0.nupkg
文件
通过应用商店找到NuGet工具安装就可以打开 nupkg 文件
通过 VisualStudio 的 Nuget 包管理设置本地的包为 Lindexi.1.0.0.nupkg
文件的文件夹,就可以找到这个文件
在 VisualStudio 右击一个项目,选择刚才设置的源,就可以找到这个文件
这时可以看到图标使用的是默认的图标,下面就是如何修改这个图标
通过压缩工具打开 Lindexi.1.0.0.nupkg
文件,因为 nupkg 文件是一个压缩文件,可以通过压缩工具解压,在解压之后可以看到下面的文件
通过 URL 设置图标
打开 Lindexi.nuspec 文件,在之前的 NuGet 支持的是通过 URL 的方法设置图标
可以从easyicon找到一个好看的图标
然后通过图床将图标上传到网上,在 Lindexi.nuspec 文件添加下面代码
<iconUrl>http://image.acmx.xyz/lindexi%2F2019427172218870</iconUrl>
这里的 http://image.acmx.xyz/lindexi%2F2019427172218870 就是我上传的图标,添加在 metadata
里面,大概看起来的 Lindexi.nuspec 文件就是下面代码
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>Lindexi</id>
<version>1.0.0</version>
<authors>Lindexi</authors>
<owners>Lindexi</owners>
<iconUrl>http://image.acmx.xyz/lindexi%2F2019427172218870</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package Description</description>
忽略一些代码
</metadata>
</package>
将命令行跳到 Lindexi.nuspec 文件的文件夹,输入下面代码就可以重新打包
nuget pack
通过NuGet工具打开创建的 Lindexi.1.0.0.nupkg 的文件,可以看到图标
做到这个效果的另一个简单方法是在NuGet工具点击更改,在 Icon Url 修改链接
通过文件
有小伙伴说他在清真的地方,无法下载到好看的图标,同时图标使用的是外面的链接,可能下载到的不是图片,所以微软建议将图标文件放在 NuGet 包里面
编辑 Lindexi.nuspec 文件,将 iconUrl 替换为 icon 同时添加相对路径的图标
这也是比较推荐的方法,能够解决 NU5048 警告
推荐在 Directory.Build.props 文件里面使用下面添加
<PropertyGroup>
<PackageIcon>Icon.png</PackageIcon>
</PropertyGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)logo.png" Pack="true" PackagePath="Icon.png"></None>
</ItemGroup>
将图标文件 logo.png 放在 Directory.Build.props 文件所在的文件夹,通过 $(MSBuildThisFileDirectory)
就可以找到这个文件,然后打包放在 Icon.png 文件
在 PackageIcon 引用这个文件,需要注意的是这里的文件的大小写是需要关注的,需要让大小写相同,才能拿到相同的文件
Packaging Icon within the nupkg · NuGet/Home Wiki
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SpringFramework之ViewResolver优化
- 搭建maven私服上传并使用Jar包
- Prometheus监控Minio集群
- Spring Boot 相关漏洞学习资料
- 口令爆破之突破前端JS加密
- 渗透测试之API测试技巧
- PC(C/S架构)客户端测试笔记
- 手把手教你使用Python开发飞机大战小游戏,4万字超详细讲解!
- Android通过URL文件下载及文件名提取
- PyTorch4:模块总览&torch.utils.data
- express处理文件上传
- 《机器学习》-- 第七章 朴素贝叶斯
- 【DIY数字仪表】RT-Thread移植touchgfx使用sd卡升级固件和图片资源(4)
- Transformers中的Beam Search高效实现
- 多边形裁剪图片升级啦!Cocos Creator !