目录
前言
在NET开发中,我们常常用NuGet包源管理器添加、移除、更新引用开源的包以及框架,但是我们有时候公司内部一些类库是要统一方便快捷管理,但是又不能公开,这时候就需要搭建私有NuGet服务器
一、搭建步骤
(1)基于BaGet开源框架进行搭建:GitHub - loic-sharma/BaGet: A lightweight NuGet and symbol server,下载release包,解压后,可以修改配置文件appsettings.json中urls(启动端口),ApiKey(私有秘钥)等配置
(2)运行程序:dotnet BaGet.dll,即可打开管理页面http://localhost:5001 可以改为上述自定义的端口
一、使用步骤
本例以Visual Studio2019一键打包、推送
(1)在项目解决方案目录下创建nupkg统一包文件夹,用来存储所有库打包的nupkg文件,
在nupkg文件中创建temp文件夹,同时创建pushpack.bat命令文件,内容如下
dotnet pack %1 --no-build -c Release -o E:\开发文件\Lsl.Framework\Lsl.Infrastructure\nupkg\Temp
dotnet nuget push E:\开发文件\Lsl.Framework\Lsl.Infrastructure\nupkg\Temp\%~2.*.nupkg -s http://192.168.17.131:5001/v3/index.json
move E:\开发文件\Lsl.Framework\Lsl.Infrastructure\nupkg\Temp\*.nupkg E:\开发文件\Lsl.Framework\Lsl.Infrastructure\nupkg\
#可以自定义修改打包后的路径,这里我打包到E:\开发文件\Lsl.Framework\Lsl.Infrastructure\nupkg\Temp目录下,设置刚刚搭建的私有NuGet服务器地址
(2)而后打开Visual Studio2019选择工具->外部工具,添加工具,
a、标题可以自定义,例如发布NuGet,
b、命令则输入刚刚pushpack.bat的路径,例如这里
E:\开发文件\Lsl.Framework\Lsl.Infrastructure\publish\pushpack.bat
c、参数为:
$(ProjectDir)$(ProjectFileName) $(TargetName)
#注意第三个$前面有个空格
然后确定 ,则可以在工具列表中可以看到发布NuGet选项,
注意:要记住这里自定义工具所处的顺序,我这里是排第四
(3)第二步完成即可完成整个打包推送,但是为了快捷,就像选择项目右键可以直接打包一样,我们则需要添加自定义菜单,点击扩展->定义菜单->命令->选择上下文菜单,在下拉选项中选择:项目和解决方案上下文菜单|项目,添加命令,然后在左侧选择工具,右侧选择相对应的外部命令1-9,(这边由于上面属于4,因此选外部命令4).确认之后点击【修改所选内容】,就能修改按钮名称,如发布NuGet,确定后,然后右击项目,则可以看到发布NuGet,即可一键轻松打包推送NuGet服务器了