搭建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仓库相关推荐

  1. typecho本地上传头像_用ProGet搭建本地私有NuGet仓库

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

  2. Android 使用Nexus搭建本地私有Maven仓库

    一.前言 在Android开发中,经常有一种场景:需要将写好的某个lib用于各个不同的项目中. 做法有二:1.将lib直接导入到项目中,缺点:繁琐,一旦lib项目出现bug,所有导入的项目都要去修改. ...

  3. 使用Nexus搭建私有Nuget仓库

    前言 Nuget是ASP .NET Gallery的一员,是免费.开源的包管理工具,专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,相对于传统单纯的dll引用要方便.科学得多 ...

  4. Docker容器之搭建本地私有仓库

    Docker容器之搭建本地私有仓库 前言 一.首先下载registry镜像 二.在daemon.json文件中添加私有镜像仓库的地址并重启 三.创建registry容器并开放端口 四.给镜像打标签后上 ...

  5. 【云原生Docker系列第十篇】搭建本地私有仓库(我问青山何时老,青山问我几时闲)

    文章目录 系列文章目录 前言 一.搭建本地私有仓库过程 首先下载registry镜像 在daemon.json文件中添加私有镜像仓库地址 运行registry 为镜像打标签 上传到私有仓库 列出私有仓 ...

  6. 搭建Docker本地私有镜像仓库

    在使用Docker service create创建容器时,Docker首先默认从Docker Hub官方去下载镜像,这很不方便,很多时候我们的镜像都是使用Dockerfile自定义私有镜像,不对外公 ...

  7. 如何搭建一个私有npm仓库

    业界主流的私有npm仓库搭建的主流方案有如下几种: 付费购买 使用 git+ssh 这种方式直接引用到 GitHub 项目地址 使用 Sinopia 使用 cnpmjs.org 第一种,一是考虑到公司 ...

  8. 使用 satis 结合 gitlab 搭建 composer 私有包仓库

    使用 satis 结合 gitlab 搭建 composer 私有包仓库 环境 centos 7.3 composer gitlab nginx 使用 安装 satis composer create ...

  9. 搭建Harbor私有镜像仓库

    Docker容器应用的开发和运行离不开可靠的镜像管理,部署一个私有的镜像仓库是十分有必要的.虽然Docker官方提供了docker-registry用于构建私有的镜像仓库.但它的功能没有Harbor丰 ...

最新文章

  1. Android ProgressBar 加载中界面实现(loading 动画) 实现菊花的效果
  2. 描点链接元素的优化提升用户体验
  3. 09Mybatis_入门程序——删除用户以及更新用户
  4. 揭秘:高盛交易员赚取10亿美元利润的神秘“利器”终于公开了
  5. 后端:414 Request-URI Too Large解决方案
  6. c语言的指针和java引用传递参数,java传参数是传值还是引用
  7. Servlet案例6:显示用户的上次访问时间
  8. Redis基础知识详解(非原创)
  9. 多线程-AbstractQueuedSynchronizer(AQS)
  10. macos无法验证此app不包含恶意软件_macOS 下 Electron 程序的签名及公证
  11. 3027 - Corporative Network
  12. 安装Baidu Sitemap Generator插件显示“该插件没有有效的标题”
  13. java对list里面按照分数排名_近3年全国高校高考录取分数线排名,600分以上高校55所...
  14. 国际科学数据服务平台 - csdb_拔剑-浆糊的传说_新浪博客
  15. Mac版网易云音乐打不开
  16. Qt小游戏开发:俄罗斯方块
  17. 高通QPST Download使用方法
  18. Docker (四) 容器基本命令
  19. 人为什么活着__稻盛和夫的哲学
  20. 收集国人不良习惯 -- 有哪些不好的习惯敬请指出,那些不能算作不好的 只能说习俗不同也请指出

热门文章

  1. powerpoint转换器_如何将PowerPoint演示文稿转换为主题演讲
  2. 删除microsoft_如何从您的Microsoft帐户中删除设备
  3. linux导出硬件信息,Linux 上生成硬件信息与配置报告: Sysreport
  4. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.5. 修改表
  5. Web应用架构-Full-text Search Service
  6. .Net转Java自学之路—基础巩固篇八—总结(封装、继承、多态)
  7. 基于 HTML5 Canvas 绘制的电信网络拓扑图
  8. 投票彰显电信合约机诺基亚Lumia 800C受热捧
  9. linux shell 嵌套expect 与服务器交互脚本
  10. 第十七章 特殊类成员