用ProGet搭建本地私有NuGet仓库

搭建ProGet

下载

官网下载Windows版本的Inedo Hub (https://inedo.com/proget/download
下载下来的软件名: ProGetInstaller.exe

安装

点击ProGetInstaller.exe,出现如下安装界面
1559029171567-797d8484-d5da-4a87-88e4-82ae3de3b2de.png#align=left&display=inline&height=616&originHeight=600&originWidth=800&status=done&width=821
Registration 选项选择 Free ;
SQL Sever 选项选择 Specify instance,添加Connection string:
data source=192.168.195.129;user id=sa;password=yourStrong(!)Password;MultipleActiveResultSets=True;

Database Name选项默认的数据库名称是ProGet(可以新建一个空库也可以不建,安装时,如果没有对应数据库,程序会自动创建数据库)
Hosting 选项默认选择 Intergrated Web Server ,就是以服务的方式安装。
1559029171637-0913f6a7-d967-4ffb-b970-5075db08b9f5.png#align=left&display=inline&height=616&originHeight=600&originWidth=800&status=done&width=821
添加成功后,SQL Server选项会显示选中刚刚新加的服务器IP地址
1559029171785-aa3f1196-3ff5-4434-a364-21e9e108c4ba.png#align=left&display=inline&height=616&originHeight=600&originWidth=800&status=done&width=821
点击安装后,输入名称和邮件地址来获取到免费的key。
1559029171910-9969c419-8ad0-4483-96d2-9d78ae26d857.png#align=left&display=inline&height=616&originHeight=600&originWidth=800&status=done&width=821
安装成功后的IndeoHub界面
1559029171973-e2b08001-46de-49b4-ae94-21199ffddfc1.png#align=left&display=inline&height=616&originHeight=600&originWidth=800&status=done&width=821

在Services里面可以看到有两个服务正在运行,ProGet的服务和其Web服务。
1559029172063-b10d8b0c-4c96-4091-80ba-20b915bf7b17.png#align=left&display=inline&height=616&originHeight=600&originWidth=800&status=done&width=821

通过Windows的任务管理器里的服务也可以看到这两个服务。
1559029172142-7206fae4-3b2b-4ce9-a349-ce3d5f61d2ee.png#align=left&display=inline&height=132&originHeight=180&originWidth=1119&status=done&width=821

InedoHub的Configuration界面是ProGet的相关配置信息,包括数据库链接字符串,Key,以及ProGet的网站端口号。
1559029172211-f8356e3a-c576-4e53-880b-7e2bef8b8ef9.png#align=left&display=inline&height=616&originHeight=600&originWidth=800&status=done&width=821

本机IP为192.168.1.48,所以访问 http://192.168.1.48:8624 ,出现如下界面说明ProGet安装成功。
1559029172287-900843f2-2a56-40a0-a0b6-56c29ca2af93.png#align=left&display=inline&height=463&originHeight=819&originWidth=1451&status=done&width=821

配置

点击网站的头像部分,然后点击登录
1559029172346-7f0fd546-17f0-4af0-9d8e-ac50cf3a09c3.png#align=left&display=inline&height=220&originHeight=441&originWidth=1649&status=done&width=821
网站的管理员账号及初始密码是Admin/Admin。
1559029172396-66ca64bb-60e8-4240-b6f0-6260a71ebf99.png#align=left&display=inline&height=754&originHeight=563&originWidth=600&status=done&width=804
登录管理员账号后,设置Task
1559029172446-da41f86a-965d-4d72-bd35-5b388224e320.png#align=left&display=inline&height=565&originHeight=783&originWidth=1137&status=done&width=821

给匿名用户添加 Publish Packages (发包)权限。
1559029172558-d7bf0781-62cc-4a78-87c1-7bb9a709a1fd.png#align=left&display=inline&height=433&originHeight=621&originWidth=1178&status=done&width=821
添加Connectors,添加NuGet官方配置
1559029172633-b9387d13-f153-4e7c-b695-79167dee5b7b.png#align=left&display=inline&height=518&originHeight=856&originWidth=1356&status=done&width=821
新增Feed,选择第三方包NuGet,Feed 名称为ZeroGet。
1559029172717-fa5c5f69-a00b-4775-aef3-eb773292551b.png#align=left&display=inline&height=548&originHeight=539&originWidth=807&status=done&width=821
新建成功

进入ZeroGet,我们会发现没有任何包,点击 Manage Feed 按钮,进入该Feed的管理界面,在Feed Connectors 项目里面,点击 add connector 按钮,选择先前新建的名叫Nuget的Connector。

再次进入ZeroGet的Feed界面,结果如下,我们把NuGet官网的包信息也同步过来了!

上传程序集

下载NuGet

NuGet官网下载地址 https://www.nuget.org/downloads
将下载好的nuget.exe放在特定的位置,例子的路径是 D:\Program Files (x86)\NuGet\nuget.exe

设置环境变量

如下图,编辑环境变量Path,新增nuget.exe的所在文件夹路径,这样cmd命令行就可以直接使用nuget命令进行相关的打包操作了

项目打包

修改项目程序集信息

这里介绍的是简单的通过修改项目的AssemblyInfo.cs文件来修改程序集的发布信息。

打开AssemblyInfo.cs文件,一般是修改如下内容就够了
[assembly: AssemblyDescription("这是描述的信息")]//程序集的描述
[assembly: AssemblyCompany("Zero")]//程序集的作者或所属公司
[assembly: AssemblyCopyright("Copyright ©  2019")]//程序集版权信息
[assembly: AssemblyVersion("1.0.1")]//程序集版本
[assembly: AssemblyFileVersion("1.0.1")]//文件版本一般与程序集版本一致

项目打包

在打包之前,先编译生成一遍项目。
运行cmd命令行,进入到要打包的项目的.csproj文件所在目录下,运行如下命令
nuget pack  -Build -Properties Configuration=Release
结果如下,成功生成Zero.Test.1.0.1.nupkg文件
1559029173015-5e2dc0d4-601d-4aef-8b4c-02650742cac9.png#align=left&display=inline&height=725&originHeight=867&originWidth=982&status=done&width=821

上传到本地仓库

在本地的ProGet网站的对应ZeroGet的Feed里面有添加包的 Add Package 按钮,点击后,提升如下四种添加方式,我们是通过NuGet的命令行来进行添加的,点击对应选项。
1559029173117-5e2d3ebe-007a-4902-ade0-c1c560d15afd.png#align=left&display=inline&height=512&originHeight=822&originWidth=1317&status=done&width=821
点击通过NuGet的命令行来进行添加的对应选项后,弹出如下提示内容。
1559029173171-88f99865-1bcf-49cc-830c-a07437e6de98.png#align=left&display=inline&height=365&originHeight=287&originWidth=646&status=done&width=821
上面命令脚本如下,[API key]的选项是可选的,可以不填。
NuGet.exe push <package path> [API key] -Source http://192.168.1.48:8624/nuget/ZeroGet/

承接上面的具体操作,在成功生成nupkg文件后,运行下面的脚本
nuget push Zero.Test.1.0.1.nupkg  -Source http://192.168.1.48:8624/nuget/ZeroGet/
结果如下图:
1559029173224-cee762f7-50ae-4d77-ab1d-0f48e1946902.png#align=left&display=inline&height=114&originHeight=120&originWidth=868&status=done&width=821
浏览器访问本地ProGet,显示信息如下
1559029173274-1c45e7a3-1699-417d-86fd-d1e0e13f5e20.png#align=left&display=inline&height=374&originHeight=388&originWidth=851&status=done&width=821
进入ZeroGet的Feed里面,我们可以看到刚刚本地新上传的程序集是置顶显示的。
1559029173332-71e32461-b320-4af9-82b3-1a59d399b37e.png#align=left&display=inline&height=444&originHeight=544&originWidth=1005&status=done&width=821
点击测试的程序集,查看程序集具体信息,作者信息,描述信息,版本信息都是我们程序里面编辑的。
1559029173393-72362e7f-4eb7-483a-bfb1-766f48dfe770.png#align=left&display=inline&height=641&originHeight=910&originWidth=1166&status=done&width=821
查看程序集依赖和项目比较,也是一样的。

1559029173470-454a54ba-0413-4e3c-a5ac-44be6b7513e4.png#align=left&display=inline&height=294&originHeight=351&originWidth=980&status=done&width=821
1559029173527-f2892759-7895-42c1-8133-f9e547faf104.png#align=left&display=inline&height=139&originHeight=227&originWidth=1337&status=done&width=821
OK,打包并上传成功,下面就是要本地项目使用刚刚的程序集了。

下载使用程序集

获取包源

在ZeroGet的Feed页面,显示有API endpoint URL:http://192.168.1.48:8624/nuget/ZeroGet/
该路径就是ZeroGet的包源路径。
1559029173595-6d1a115e-012d-45b4-8a32-88f471201f74.png#align=left&display=inline&height=86&originHeight=100&originWidth=960&status=done&width=821

添加包源

打开VS,工具》NuGet包管理器》程序包管理器设置

点击NuGet包管理器下的程序包源,点击新增按钮,新增ZeroGet本地包源,如下图。

使用包源

在项目下,右击打开“管理NuGet程序包”,将程序抱怨切换到ZeroGet,如下图所示,我们就可以看到我们刚刚上传到本地库的程序集信息了。

点击安装后,自动安装该程序集以及它的依赖项。如下图。

验证程序引用正常

下图是Zero.Test项目代码,简单的将对象转换成字符串类型。

下图是在控制台项目,用NuGet应用程序集Zero.Test后,调用Zero.Test.Convertor.GetObjString方法的执行结果,说明Zero.Test该程序集正常工作,引用正常。

参考

转载于:https://www.cnblogs.com/zerodai/p/10796535.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值