1. 在NuGet官网上注册并获取API Key

  到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,如果没有则在API keys 页面创建一个就可以。

2. 下载NuGet.exe

  在NuGet官网下载Nuget.exe,也可下载原版版本自行编译生成(小编在这里下载源码编译试了一下,一片红,就没有一个一个问题解决,感兴趣和爱专研的小伙伴可以一路披荆斩棘)。把下载下来的nuget.exe目录添加到环境变量Path中。

3. 设置API Key

  打开运行cmd,输入一下指令: nuget setApiKey <你的API key>,示例: nuget setApiKey 19b19ffc30caef1c9376cd2982992a591165ae17721842d627f4b398238634a0

运行结果:

4. 开发自己的拓展类库

  这一步和自己平时创建项目,编辑代码一样,在此不再累述。编辑好自己的类库之后,打开项目属性文件AssemblyInfo.cs,设置AssemblyVersion属性,设置好之后编译项目待用。

5. 产生并修改nuspec

  nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。在命令提示符下,进入*.csproj文件所在目录,然后执行:nuget spec即可,执行成功会生成*.nuspec的文件。

打开刚生成的*.nuspec文件,编辑description节点,这个是项目的描述,自行编辑即可。

6. 产生类库包(Library Package)

  在*.csproj目录下使用指令nuget pack *.csproj产生类库包,运行成功会生成*.1.0.0.0.nupkg的文件。其中1.0.0.0就是项目属性文件中配置的版本号。

7. 发布类库包

  使用指令 nuget push *1.0.0.0.nupkg -source nuget.org 发布刚才生成的类库包。注: -source 后面的参数为类库包上传的地址,nuget.org是nuget托管地址,也可使用自己的地址,这个方法感兴趣的朋友可以自己测试下。

发布成功后,在nuget登录后的页面可以看到你刚才发布的类库包了,但是这时候的状态是Validating,这是nuget在校验、确认的状态,这时候使用nuget管理工具也是无法搜索到你刚才发布的包的。不要着急,一般nuget数分钟就会审核通过,状态更改为Listed,并且会发一条邮件通知你,这时候就可以在nuget管理工具中搜索到这个包了。

8. 本地安装刚才的nuget包,测试你的拓展功能。

9. 更新类库包

  更改完代码,修改项目属性文件中的版本号,编译待用。依次使用 nuget pack *.csproj和nuget push *.nupkg -source nuget.org指令生成类库包和发布包。注: 使用 nuget push 指令的时候,注意发布对应版本的包,每一个版本都会对应一个.nupkg文件。

10. 本地nuget管理工具更新包,测试功能。

最新文章

  1. Sharing A Powerful Tool For Application Auto Monitor
  2. 去除项目中的SVN标记
  3. 剑指offer系列17---顺时针打印矩阵(不是很懂)
  4. java 错误之:Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError
  5. Linux下tcp协议socket的recv函数返回时机分析(粘包)
  6. Android 按钮按下效果
  7. eclipse下的web开发问题总结[struts2文件上传]
  8. 简化ui文件转换写法
  9. javascript 之原型、原型链-14
  10. 怎样实现给DEDE的栏目增加栏目图片(1)
  11. 洛谷 P3038 [USACO11DEC]牧草种植Grass Planting(树链剖分)
  12. CSS3属性之圆角效果——border-radius属性
  13. 链表的无锁操作 (JAVA)
  14. 【移动开发】SparseArray替代HashMap
  15. MySQL实战45讲学习笔记:索引(第五讲)
  16. Nginx 安装及配置、负载均衡https网站及转发后页面js、css等路径找不到问题、更换证书导致问题解决
  17. DevExpress v18.2新版亮点——DevExtreme篇(四)
  18. Go 标准库 http.FileServer 实现静态文件服务
  19. (转)以太坊(Ethereum)创世揭秘 以太坊(Ethereum)创世揭秘
  20. element中使用button会刷新一遍页面

热门文章

  1. struts2的一些小问题
  2. Rust语言——无虚拟机、无垃圾收集器、无运行时、无空指针/野指针/内存越界/缓冲区溢出/段错误、无数据竞争
  3. SPOJ:Labyrinth(最大直线)
  4. BZOJ_3998_[TJOI2015]弦论_后缀自动机
  5. bzoj 4753 最佳团体 —— 01分数规划+树形背包
  6. UI:网络请求
  7. 【NOIP2006】作业调度方案 {语文难题}
  8. maven-将依赖的 jar包一起打包到项目 jar 包中
  9. 机器学习基础算法__python实现(基于numpy等基础库)
  10. AC自动机 HDOJ 5384 Danganronpa