nuget包管理:制作、发布包到nuget服务器、从nuget服务器删除包

1,232 阅读2分钟

笔记更新计划,转自: blog.zhuliang.ltd/2018/12/fro…

制作、发布所用工具:NuGetPackageExplorer

项目git地址: NuGetPackageExplorer git地址

uwp app:商店地址

本次演示所用版本为:UWP 5.0.9

制作包

12e401cb-00f0-49da-bd45-a60298cc0562.png

  • 在左侧界面中添加包的一些基本信息。
  • 在右侧界面中添加lib文件夹,在其中鼠标右键可以自动生成一些特定.NET版本的文件夹,便于不同的.NET版本项目在安装的时候可以根据设定的版本文件夹来进行安装对应框架版本的dll。
  • 建议将 dll 和 xml文件全部放到 lib 文件夹内( 这样子其他项目在安装后不会在项目同级生成"注释xml"文件,但是注释xml仍生效(xml和dll会直接生成在packages同一文件夹中了))
  • 描述、说明写在 description 字段中。

发布包:

03f972f3-a019-414f-9d44-4e77874c9e6b.png

  • 发布的时候,需要填写下 nuget服务器所在的地址以及设定的ApiKey。
  • 注意:一个项目的一个版本号只能发布一次,如果发布多次会提示406错误。
  • dll有更新,则在更改版本号后,重新进行publish。

添加其它包依赖

55fab5d4-88ed-4119-85b4-2732e94617b5.png

  • 点击标识2按钮的时候,不要指定“Target Framework”
  • 在点击第3步按钮出现的弹框中,选择已经发布到服务器上的包。(演示下使用包 TestModel),如下:

fedf9990-8242-484d-956a-e90eb86ab4e1.png

安装含有依赖项的包

这里直接新建一个测试项目安装TestTool包(TestTool包依赖了TestModel包)

新建一个测试项目TestConsole,其初始引用如下:

0d48ad95-e244-4763-87c0-d702910d3461.png

安装TestTool:

4db39848-fbab-4c81-aeab-96e0d7471506.png

安装完成后:提示信息如下:

8d377dda-539d-4f43-a6c8-ba10d162870e.png

自动添加了依赖项TestModel:

ff037cd2-f9b8-4be8-811e-c6d4e3eaf0e4.png

发布一个预览版本的包

只要在版本号中包含-beta,-alpha,-rc即可,如:"2.0.0-alpha-01", b679b0db-03cb-48ac-8103-d7c2155814f3.png

之后,在安装的时候,需要勾选“包括预发行版”,才能显示包含预发布语义的版本,如下:

9429dfe7-a42f-4bd4-ba92-240cf9ef1bda.png

删除已经发布的包

方法一:

  • 直接到服务器上删除对应的文件夹

方法二:

删除需要用到nuget.exe 下载:www.nuget.org/downloads commands doc:docs.microsoft.com/en-us/nuget…

定位到nuget.exe所在目录,执行:

$nuget.exe delete <packageID> <packageVersion> [options]
如这里删除Test.Model 这个包的1.0.0版本,则为:
$./nuget.exe  delete  Test.Model  1.0.0  -Source  http://192.168.1.120:4200/nuget  -apikey  40bf22ac8e42

331c2578-ff0b-434f-99e3-79405ae15613.png