用ProGet搭建本地私有NuGet仓库
搭建ProGet
下载
官网下载Windows版本的Inedo Hub (https://inedo.com/proget/download)
下载下来的软件名: ProGetInstaller.exe
安装
点击ProGetInstaller.exe,出现如下安装界面
Registration 选项选择 Free ;
SQL Sever 选项选择 Specify instance,添加Connection string:
Copy
data source=192.168.195.129;user id=sa;password=yourStrong(!)Password;MultipleActiveResultSets=True;
Database Name选项默认的数据库名称是ProGet(可以新建一个空库也可以不建,安装时,如果没有对应数据库,程序会自动创建数据库)
Hosting 选项默认选择 Intergrated Web Server ,就是以服务的方式安装。
添加成功后,SQL Server选项会显示选中刚刚新加的服务器IP地址
点击安装后,输入名称和邮件地址来获取到免费的key。
安装成功后的IndeoHub界面
在Services里面可以看到有两个服务正在运行,ProGet的服务和其Web服务。
通过Windows的任务管理器里的服务也可以看到这两个服务。
InedoHub的Configuration界面是ProGet的相关配置信息,包括数据库链接字符串,Key,以及ProGet的网站端口号。
本机IP为192.168.1.48,所以访问 http://192.168.1.48:8624 ,出现如下界面说明ProGet安装成功。
配置
点击网站的头像部分,然后点击登录
网站的管理员账号及初始密码是Admin/Admin。
登录管理员账号后,设置Task
给匿名用户添加 Publish Packages (发包)权限。
添加Connectors,添加NuGet官方配置
新增Feed,选择第三方包NuGet,Feed 名称为ZeroGet。
新建成功
进入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文件,一般是修改如下内容就够了
Copy
[assembly: AssemblyDescription("这是描述的信息")]
[assembly: AssemblyCompany("Zero")]
[assembly: AssemblyCopyright("Copyright © 2019")]
[assembly: AssemblyVersion("1.0.1")]
[assembly: AssemblyFileVersion("1.0.1")]
项目打包
在打包之前,先编译生成一遍项目。
运行cmd命令行,进入到要打包的项目的.csproj文件所在目录下,运行如下命令
Copy
nuget pack -Build -Properties Configuration=Release
结果如下,成功生成Zero.Test.1.0.1.nupkg文件
上传到本地仓库
在本地的ProGet网站的对应ZeroGet的Feed里面有添加包的 Add Package 按钮,点击后,提升如下四种添加方式,我们是通过NuGet的命令行来进行添加的,点击对应选项。
点击通过NuGet的命令行来进行添加的对应选项后,弹出如下提示内容。
上面命令脚本如下,[API key]的选项是可选的,可以不填。
Copy
NuGet.exe push <package path> [API key] -Source http:
承接上面的具体操作,在成功生成nupkg文件后,运行下面的脚本
Copy
nuget push Zero.Test.1.0.1.nupkg -Source http:
结果如下图:
浏览器访问本地ProGet,显示信息如下
进入ZeroGet的Feed里面,我们可以看到刚刚本地新上传的程序集是置顶显示的。
点击测试的程序集,查看程序集具体信息,作者信息,描述信息,版本信息都是我们程序里面编辑的。
查看程序集依赖和项目比较,也是一样的。
OK,打包并上传成功,下面就是要本地项目使用刚刚的程序集了。
下载使用程序集
获取包源
在ZeroGet的Feed页面,显示有API endpoint URL:http://192.168.1.48:8624/nuget/ZeroGet/,
该路径就是ZeroGet的包源路径。
添加包源
打开VS,工具》NuGet包管理器》程序包管理器设置
点击NuGet包管理器下的程序包源,点击新增按钮,新增ZeroGet本地包源,如下图。
使用包源
在项目下,右击打开“管理NuGet程序包”,将程序抱怨切换到ZeroGet,如下图所示,我们就可以看到我们刚刚上传到本地库的程序集信息了。
点击安装后,自动安装该程序集以及它的依赖项。如下图。
验证程序引用正常
下图是Zero.Test项目代码,简单的将对象转换成字符串类型。
下图是在控制台项目,用NuGet应用程序集Zero.Test后,调用Zero.Test.Convertor.GetObjString方法的执行结果,说明Zero.Test该程序集正常工作,引用正常。
参考
https://docs.microsoft.com/zh-cn/nuget/tools/cli-ref-pack
https://docs.microsoft.com/zh-cn/nuget/reference/msbuild-targets
https://docs.microsoft.com/en-us/dotnet/core/tools/csproj#nuget-metadata-properties
https://www.jianshu.com/p/429cce1323e2
https://www.cnblogs.com/lovecsharp094/p/5527204.html
原文地址:https://www.cnblogs.com/zerodai/p/10796535.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
用ProGet搭建本地私有NuGet仓库相关推荐
- typecho本地上传头像_用ProGet搭建本地私有NuGet仓库
搭建ProGet 下载 官网下载Windows版本的Inedo Hub (https://inedo.com/proget/download) 下载下来的软件名: ProGetInstaller.ex ...
- Android 使用Nexus搭建本地私有Maven仓库
一.前言 在Android开发中,经常有一种场景:需要将写好的某个lib用于各个不同的项目中. 做法有二:1.将lib直接导入到项目中,缺点:繁琐,一旦lib项目出现bug,所有导入的项目都要去修改. ...
- 使用Nexus搭建私有Nuget仓库
前言 Nuget是ASP .NET Gallery的一员,是免费.开源的包管理工具,专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,相对于传统单纯的dll引用要方便.科学得多 ...
- Docker容器之搭建本地私有仓库
Docker容器之搭建本地私有仓库 前言 一.首先下载registry镜像 二.在daemon.json文件中添加私有镜像仓库的地址并重启 三.创建registry容器并开放端口 四.给镜像打标签后上 ...
- 【云原生Docker系列第十篇】搭建本地私有仓库(我问青山何时老,青山问我几时闲)
文章目录 系列文章目录 前言 一.搭建本地私有仓库过程 首先下载registry镜像 在daemon.json文件中添加私有镜像仓库地址 运行registry 为镜像打标签 上传到私有仓库 列出私有仓 ...
- 搭建Docker本地私有镜像仓库
在使用Docker service create创建容器时,Docker首先默认从Docker Hub官方去下载镜像,这很不方便,很多时候我们的镜像都是使用Dockerfile自定义私有镜像,不对外公 ...
- 如何搭建一个私有npm仓库
业界主流的私有npm仓库搭建的主流方案有如下几种: 付费购买 使用 git+ssh 这种方式直接引用到 GitHub 项目地址 使用 Sinopia 使用 cnpmjs.org 第一种,一是考虑到公司 ...
- 使用 satis 结合 gitlab 搭建 composer 私有包仓库
使用 satis 结合 gitlab 搭建 composer 私有包仓库 环境 centos 7.3 composer gitlab nginx 使用 安装 satis composer create ...
- 搭建Harbor私有镜像仓库
Docker容器应用的开发和运行离不开可靠的镜像管理,部署一个私有的镜像仓库是十分有必要的.虽然Docker官方提供了docker-registry用于构建私有的镜像仓库.但它的功能没有Harbor丰 ...
最新文章
- Android ProgressBar 加载中界面实现(loading 动画) 实现菊花的效果
- 描点链接元素的优化提升用户体验
- 09Mybatis_入门程序——删除用户以及更新用户
- 揭秘:高盛交易员赚取10亿美元利润的神秘“利器”终于公开了
- 后端:414 Request-URI Too Large解决方案
- c语言的指针和java引用传递参数,java传参数是传值还是引用
- Servlet案例6:显示用户的上次访问时间
- Redis基础知识详解(非原创)
- 多线程-AbstractQueuedSynchronizer(AQS)
- macos无法验证此app不包含恶意软件_macOS 下 Electron 程序的签名及公证
- 3027 - Corporative Network
- 安装Baidu Sitemap Generator插件显示“该插件没有有效的标题”
- java对list里面按照分数排名_近3年全国高校高考录取分数线排名,600分以上高校55所...
- 国际科学数据服务平台 - csdb_拔剑-浆糊的传说_新浪博客
- Mac版网易云音乐打不开
- Qt小游戏开发:俄罗斯方块
- 高通QPST Download使用方法
- Docker (四) 容器基本命令
- 人为什么活着__稻盛和夫的哲学
- 收集国人不良习惯 -- 有哪些不好的习惯敬请指出,那些不能算作不好的 只能说习俗不同也请指出
热门文章
- powerpoint转换器_如何将PowerPoint演示文稿转换为主题演讲
- 删除microsoft_如何从您的Microsoft帐户中删除设备
- linux导出硬件信息,Linux 上生成硬件信息与配置报告: Sysreport
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.5. 修改表
- Web应用架构-Full-text Search Service
- .Net转Java自学之路—基础巩固篇八—总结(封装、继承、多态)
- 基于 HTML5 Canvas 绘制的电信网络拓扑图
- 投票彰显电信合约机诺基亚Lumia 800C受热捧
- linux shell 嵌套expect 与服务器交互脚本
- 第十七章 特殊类成员