Nuget介绍
官网定义:NuGet是.NET的软件包管理器(免费)。NuGet客户端工具提供了生成和使用软件包的能力。NuGet Gallery 是所有软件包作者和消费者都使用的*软件包存储库。
简单来说,nuget包解决了dll引用的问题,开发者可以通过打包,然后发布到公有主机或者私有主机上,供其他开发者使用。可以大大的提高创建一个.NET应用的效率。
想了解平时安装的nuget包,是如何产生的。需要了解几个角色。
- 创建者:包的作者,创建一个项目,最终生成一个后缀名为.nupkg的文件,里面包含了编译代码DLL、与该代码相关的其他文件以及描述清单如版本等信息。
- Host 主机:nuget.org 作为公共主机,如果你也想发布一个包,供所有开发者使用的话,可以选择它。NuGet 自身负责在 nuget.org 中维护包含 100,000 多个唯一包的*存储库。这些包每天供数以百万的 .NET/.Net Core 开发人员使用。私有主机上,比如团队内部几个人可以访问。
- 消费者:很好理解,就是我们从nuget获取包的开发者。
简单的总结下这几个角色的关系:创建者创建一个nuget包,并发布到主机上。然后使用者在可访问的主机上搜索安装nuget包到项目中,
NuGet的设置
右键“项目”选择属性。点击打包 设置版本
生成NuGet包
右击”项目“ 打包,生成“NuGetTestllxd.1.0.1-bate3.nupkg”
发布NuGet包的有两种方式,
一种通过NuGet官方网站直接上传:https://www.nuget.org/packages/manage/upload
第二种是通过CLI 命令行 push:dotnet nuget push NuGetTest.1.0.0-pre.nupkg -k API -s https://api.nuget.org/v3/index.json
API:注册账户,申请一个。
https://api.nuget.org/v3/index.json:这个是固定不变的。此文档称为 服务索引
该 API 的入口点是众所周知的位置中的 JSON 文档。 Nuget.org 的服务索引的位置为 https://api.nuget.org/v3/index.json
。
此 JSON 文档包含资源列表,这些 资源 提供不同的功能并实现不同的用例。
支持 API 的客户端应接受一个或多个服务索引 URL 作为连接到相应包源的方法。
右击”项目“ 打包,生成“NuGetTestllxd.1.0.1-bate3.nupkg”,将它复制到单独的“新建文件夹” ,然后在文件的路径栏中输入cmd 调出命令行。在命令行(CLI)执行push命令
在路径栏中输入cmd 回车,调出路径栏,这是这时候cmd直接切换到当前路径
nuget发布非正式版本/预览版本
https://docs.microsoft.com/zh-cn/nuget/create-packages/prerelease-packages
预发布版本:https://docs.microsoft.com/zh-cn/nuget/concepts/package-versioning#pre-release-versions
vs2019中使用 NuGet包