使用nuget 打包并上传 nuget.org
今天又玩了个新东西,那就是 使用nuget 打包并上传 nuget.org,在这里即时记录一下,废话不多说,直接上教程。
一、准备工作
1.下载 nuget.exe(下载完成后,要放到你的程序集同一个目录下。)
2.在 www.nuget.org 注册一个账号。
二、打包你的项目
1.项目写好以后,编辑 AssemblyInfo.cs 信息。(里面的内容很简单,看下就明白了,第一次上传可以不用编辑。)
AssemblyInfo.cs 内容:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("WDQ")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WDQ")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("c7cc3ed2-****-****-****-48550ffb53cf")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
编辑完成以后,编译代码,准备开始打包。
2.点击开始,运行,输入cmd 打开命令窗口。直接转到项目所在的文件夹(注:nuget.exe要和你项目的csproj文件在同一个目录下)
执行打包命令:nuget spec
执行成功后,会提示 已成功创建“xxx.nuspec”。
生成xxx.nuspec文件后,直接打开文件(我使用的是Nodepad++),然后文件的结构保持和图片的例子一致即可。
3.生成上传包文件,有两种命令方式可以进行生成包文件,为了避免不要的报错,个人建议使用第二种。
第一种:直接打包:nuget pack xxx.csproj
第二种:用release编译打包:nuget pack xxx.csproj -Prop Configuration=Release
执行成功后,会提示 Successfully created package ‘G:\xxx\xxx.1.0.0.nupkg’.
这个时候已经生成了nupkg文件,这个文件就是需要上传推送的nuget包了。
三、上传 nug.org 服务器
1.在推送nupkg之前,需要先获取到 API Key。
获取 API Key操作:打开 www.nuget.org ,在 个人-API Keys-Create 创建API Key。
1.复制好API Key后,就可以执行以下命令了。(注:复制过一次以后,需要重新执行Regenerate才能再次获取新的API Key)
执行设置本地 API Key 命令:nuget setApiKey Your-API-Key -Source https://www.nuget.org/api/v2/package
注:红色部分替换为你自己的 API-key, 这个命令只需要第一次上传的时候执行,以后就不需要了,因为本机已经保存了。官网解释:This will store your API key so that you never need to do this step again on this machine.
2.最后一步,推送上传包。
执行推送命令:nuget push xxx.1.0.0.nupkg -Source https://www.nuget.org/api/v2/package
3.到这里就大功告成了,在自己的nuget账号,在 个人-Manage Packages 模块里,就能看到已上传的包了。
最后,等包进入到了 Published Packages 列表后,就可以直接通过VS的 管理 NuGet 程序包 进行查找并安装了。
完工,nice。