搭建Nuget服务器(Nuget私服)
一、前言
对公司或者对个人来说,经过一段时间的沉淀之后,都会有一些框架或者模块,为了对这些框架或者模块进行更好的管理和维护,也为了方便后面的开发或者其他同事,我们可以在我们本地或者内网搭建一个nuget服务器。当然也可以把相关的package提交到nuget官方上去,只是提交上之后,就相当于公开了。怎么提交到官方,可以去官方网站找相关的攻略,这里我们将讲解怎么搭建一个nuget私服。
二、搭建nuget私服
先创建一个命名为“pftnugetsystem”的空白解决方案,然后添加web站点(这里我们使用.net framework框架的web程序)
项目名称我们命名为“pft.nugetserver”,在下面的界面中,我们选择“空”模板,然后https不勾选。备注:请一定选择“空”模板
创建成功之后,如果下图
使用nuget工具添加“nuget.server”包,添加成功之后会自动生成如下文件
打开web.config
因为我们的框架是.net framework框架是4.7.2版本,所以注释掉下面的4.6版本的compilation节点
在appsettings下面,主要的配置:requireapikey,apikey和packagespath。他们都有注释相信大家一看就知道
然后我们就可以对“pft.nugetserver”直接发布,并发布到本地的iis,发布成功之后浏览网站如图所示:
三、nuget程序包的制作和发布
可以利用开发用具“visual studio”和“nuget package explorer”实现打包。
3.1、visual studio打包和发包教程
在解决方案“pftnugetsystem”,创建一个“pft.testpackage”的类库,然后添加一个“packagehelper.cs”,添加如下方法
public string getpackagename(string name) { return $"名称{name}"; }
然后打开项目“pft.testpackage”的属性,选择“打包”
根据实际情况填写相关信息。如果项目里面引用了其他的包,比如“newtonsoft.json”,它会自动生成依赖条件。
然后选择“打包”
在输入栏得到打包的地址,就可以得到包文件“pft.testpackage.1.0.0.nupkg”。
下载nuget package explorer工具,下载地址:https://github.com/nugetpackageexplorer/nugetpackageexplorer/releases
下载之后解压运行“nugetpackageexplorer.exe”文件
选择打开本地包,选择我们生成的包,
然后选择file=》publish。发布成功之后,会提示“package published successfully”
然后在visual studio工具=》选项=》nuget包管理 添加本地解析路径
打开管理解决方案的nuget程序包,选择本地程序包源
3.2、nuget package explorer工具打包教程
打开nugetpackageexplorer工具,然后选择创建新包
将生成的dll文件拖进“package contents”中,点击左上角的第一个按钮,编辑包信息,这里为了与visual studio生成包有区别,这里我们将包的版本设置为1.0.2,描述改成“nuget服务器测试包(nugetpackageexplorer)”
如果对其他的包有依赖关系,就在下面这个位置 添加依赖包。
点击“edit dependencies”,
选择“newtonsoft.json”,
依次点击加号和ok
确定之后
发布如上
最后的效果
三、总结
经过上面的的过程,我们就可以在搭建的nuget私服上面愉快的玩耍了。
在处理nuget私服时,还要注意一个问题,就是nuget.config,路径是%appdata%\nuget\nuget.config,内容如下
nugetserver会区分版本,protocolversion就表示的版本号,v3版本支持json格式,也就是前面地址展现的内容,v2版本支持xml格式,而我们搭建的是v2版本。主要是在自动化部署的时候,如果配置不正确,依赖包会还原失败。
上一篇: Java static关键字的重新思考