Nuget 构建服务器与常用命令

公司出于某些原因需要自己在内部网络搭建一个私有的 Nuget 服务器,而且要运行在 Linux服务器上面。如果说 Windows 下搭建的话很简单,直接在项目当中引入 Nuget 的库就 OK,这儿的话 .Net Core 还没有相应的教程。

不过在万能的 Docker 上面找到了一个 Simple-Nuget-Server 镜像,具体使用方式在 这里。安装方法请参考之前的 博文,安装好 Docker 按着流程走就行了。
这里记录一下发布到 Nuget 服务器的常用命令与使用方法,首先你需要得到 Nuget 官网下载 Nuget.exe 程序,地址在这儿
那么我们新建一个库项目,这里我仅以 .NetCore 程序为例,有两种方式可以生成
.nupkg 文件:

  • 在项目的 .csproject 目录下打开 Shell 工具或者命令行,然后执行 dotnet pack 命令。
  • 在项目属性右键,在 Package 这一栏当中勾选上 generate nuget package,并且在里面可以
    控制包版本等其他信息。

Image1

当我们的 nupkg 文件生成成功之后就可以通过 Nuget.exe 的 push 命令来发布包文件了。
其命令如下:

nuget push -Source <你的 NUGET 服务器地址> -ApiKey <安装时候填写的密钥> <包文件路径>

例如:

nuget push -Source http://nuget.org -ApiKey 123456 TestLibPackage.nupkg

在填写的时候不要把尖括号的填进去了......
如果你需要发布多个版本的话,改一下版本号,再执行这个命令即可。
再介绍一个命令,如果我们需要删除已经发布的包只需要执行下列命令即可:

nuget delete <包 ID> <包版本> -Source <你的 NUGET 服务器地址> -ApiKey <你的密钥>

例如:

nuget delete TestLibPackage 1.0.0 -Source http://nuget.org -ApiKey 123456

其他的命令可以参考 Microsoft 的官方文档:
https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference

这里还有一个坑,你在添加自己的 Nuget 源的时候记得直接填写服务器地址就可以了,后面的 Path 就不用加了。