目录
简介
具体实现
创建容器
上传包
如何使用
总结
推荐阅读
简介如果你了解python,那么它类似pip。如果你了解nodejs,那么它类似npm。对于.net平台,nuget就是python中的pip,nodejs中的npm。而且微软也提供了nuget的官方库,你可以把自己创建的代码以包的形式分享到此库中。但是,对于公司中的项目,都是商用的,其中用的库并不对外分享,但是又希望能够实现代码的复用,那么一个私有的nuget服务器就显的非常有必要了。而对于个人来说,如有想要将自己的知识做积累,我觉通过dockers搭建一个个人的nuget服务器也是很好的方式。
具体实现
首先通过docker拉取neget的镜像文件:sunside/simple-nuget-server。
创建容器docker run --detach=true --publish 5000:80 --env NUGET_API_KEY=122334544 --restart=always --volume D:/nuget/database:/var/www/db --volume D:/nuget/packages:/var/www/packagefiles --name nuget-server sunside/simple-nuget-server
说明:NUGET_API_KEY :为上传用的密钥key,自定义并记住吧
上传包
包的上传可以通过nuget命令在cmd或powershell中执行,也可以通过NuGet Package Explorer进行上传。
我们先来看看命令上传的方式。首先我需要安装Nuget.CommandLine,否则cmd是不会识别nuget命令的。可以通过choco(没有安装的需要现安装)进行安装,如下:
choco install -y Nuget.CommandLine
安装成功后,运行以下命令进行上传创建好的nuget包
nuget push -Source http://localhost:5000/ -ApiKey 122334544 /path/packagename.nupkg
ps:可通过输入nuget push后回车,查看命令的详细说明。
现在让我们来看看NuGet Package Explorer,个人其实更推荐使用此工具实现包的上传,其有可视化的操作界面,对说明,依赖性等的编辑更加方便。
具体的操作可自行度娘了解。
这里只简单说下两个点。第一个是对于.net framework的类库,可以在此编辑创建新的包。第二个是对于新的.net standard的库,可以在生成的时候自动打包(我用的vs2019,其他IDE没有具体看是否可以)。
如何使用
在项目中打开Nuget包管理器,进入设置界面,如下点击添加并编辑下面的【名称】和【源(s)】,完成之后确认即可。
选择自己的nuget服务器后,可以看到已经上传的包。
选择需要使用的包,安装使用即可,和从官网获取的包的使用方式一样。
总结
本文主要说明了使用dockers创建nuget-server的方式,以及如何上传和使用创建的包。好处是可以在本地或服务器上创建这样一个服务器,来管理自定义的包。而且个人觉得,通过nuget包的方式进行引用,可以减少dll库引用的混乱,尤其是一些老项目中。而对于现在或者未来的项目,一方面是引用库的规范管理,另一方面对代码的重用也有很好的促进作用。
推荐阅读.net stardant 2.0创建及引用说明--Nuget包
win10中使用Docker安装svn的简单教程、
win10中通过docker安装sqlserver服务器的操作说明