NuGet是Microsoft开发平台的程序集包管理器,它由客户端工具和服务端站点组成,客户端工具提供给用户管理和安装/卸载软件程序包,以及打包和发布程序包到NuGet服务端站点等功能,服务端站点存储已经发行的软件包,并为NuGet客户端软件包库提供服务,使软件包共享给其余的开发者。css
一、打开Visual Studio建立空的Web站点,如图:web
二、打开管理NuGet程序包,选择程序包源为:nuget.org 而后在搜索框中输入:NuGet.Server,如图:c#
固然你也能够在程序包控制台中输入下面的命令直接安装api
install-package NuGet.Server
三、安装完成以后,打开web.confg 修改apikey 如图:服务器
若是requireApiKey的值设置为false,那么apikey就能够设置为空,我这里随便搞了一个,而后服务端的站点就完成了,你能够将这个站点部署到服务器的IIS里面,看一下最后运行的结果:编辑器
一、首先咱们得安装NuGet客户端工具,个人Visual Studio 2015是自带的(我选择了彻底安装模式),若是你的没有那么能够到nuget上下载安装包,安装包的下载地址:https://www.nuget.org/工具
二、将程序集打包测试
在打包以前先要建立一个打包清单文件.nuspec, 你能够从头至尾手动建立打包清单,或者输入下面的命令进行建立:ui
nuget spec
其更多选项能够参考其官方文档:https://docs.nuget.org/ndocs/tools/nuget.exe-cli-reference#specspa
这个命令你能够在visual studio的程序包管理控制台里面执行,也能够在cmd里面执行,但都须要路由到须要打包的项目目录下运行,如图:
我先把它更名为dogstar.nuspec,而后你能够使用任何文本编辑器来打开这个文件,如图:
在这里我简单介绍一下下面的的几个元素,其余更多请参照官方文档(https://docs.nuget.org/ndocs/schema/nuspec)
id:程序包的惟一标识符
version:发行版本号
description:程序包的功能详细说明
releaseNotes:本次发行的版本有那些主要变动,例如:修复bug,支持全文检索
dependencies:此程序包依赖于哪些Nuget上的程序包
files:包含程序集文件和内容文件
程序集文件的目标根目录必须是lib,如:target="lib" 或者 target="lib\net40",lib目录下的文件将会安装到目标项目的bin目录下
内容文件的目标根目录必须是content,如:target="content\scripts" 或者 target="content\theme\css",content目录下的全部文件和文件夹都会被安装到目标项目下的根目录下
这里须要提醒一下的就是路径不能够用“/”分隔符,必须使用“\"分隔符
exclude属性指定不包括的文件;
关于files节点的更多内容请参照官方文档:https://docs.nuget.org/ndocs/schema/nuspec#including-assembly-files
文件清单建立完毕以后,执行下面的命令进行打包:
nuget pack dogstar.nuspec
执行命令以后会生成一个 dogstar.1.0.0.nupkg 文件,这里你会看到一堆的警告,其实打包还有能够用visual studio的项目文件(*.csproj)进行打包,具体操做请参照官方文档:https://docs.nuget.org/ndocs/create-packages/creating-a-package#creating-the-package
到此为止打包的步骤就已经完成了,下面介绍发布到nuget服务器上的操做
三、将nuget包发布到服务器上
发布的操做至关简单,其实在前面的第二部分的Nuget服务器站点搭建完成以后运行站点后的那个效果图里面就已经将方法输出来了,请看下面的命令:
nuget push dogstar.1.0.0.nupkg 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -Source http://localhost:27928/api/v2/package
NuGet服务端站点和客户端打包发布都已经介绍玩了,如今回到nuget管理程序包里面验证一下结果,在验证结果以前,首先添加程序包源的设置,如图:
而后在程序包源的下拉中选择client test 将会看到咱们刚刚发布的dogstar程序包,如图:
ok,立刻点击安装看一下
打包的文件已经正确安装到测试项目里面,验证结果成功!