用ProGet搭建本地私有NuGet仓库

搭建ProGet

下载

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

安装

点击ProGetInstaller.exe,出现如下安装界面
640?wx_fmt=png

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 ,就是以服务的方式安装。
640?wx_fmt=png
添加成功后,SQL Server选项会显示选中刚刚新加的服务器IP地址
640?wx_fmt=png
点击安装后,输入名称和邮件地址来获取到免费的key。
640?wx_fmt=png

安装成功后的IndeoHub界面
640?wx_fmt=png

在Services里面可以看到有两个服务正在运行,ProGet的服务和其Web服务。
640?wx_fmt=png

通过Windows的任务管理器里的服务也可以看到这两个服务。
640?wx_fmt=png

InedoHub的Configuration界面是ProGet的相关配置信息,包括数据库链接字符串,Key,以及ProGet的网站端口号。
640?wx_fmt=png

本机IP为192.168.1.48,所以访问 http://192.168.1.48:8624 ,出现如下界面说明ProGet安装成功。
640?wx_fmt=png

配置

点击网站的头像部分,然后点击登录
640?wx_fmt=png
网站的管理员账号及初始密码是Admin/Admin。
640?wx_fmt=png
登录管理员账号后,设置Task
640?wx_fmt=png

给匿名用户添加 Publish Packages (发包)权限。
640?wx_fmt=png
添加Connectors,添加NuGet官方配置
640?wx_fmt=png
新增Feed,选择第三方包NuGet,Feed 名称为ZeroGet。
640?wx_fmt=png
新建成功
640?wx_fmt=png

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

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

上传程序集

下载NuGet

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

设置环境变量

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

项目打包

修改项目程序集信息

这里介绍的是简单的通过修改项目的AssemblyInfo.cs文件来修改程序集的发布信息。
640?wx_fmt=png
打开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文件
640?wx_fmt=png

上传到本地仓库

在本地的ProGet网站的对应ZeroGet的Feed里面有添加包的 Add Package 按钮,点击后,提升如下四种添加方式,我们是通过NuGet的命令行来进行添加的,点击对应选项。
640?wx_fmt=png
点击通过NuGet的命令行来进行添加的对应选项后,弹出如下提示内容。
640?wx_fmt=png
上面命令脚本如下,[API key]的选项是可选的,可以不填。

Copy

NuGet.exe push <package path> [API key] -Source http:

承接上面的具体操作,在成功生成nupkg文件后,运行下面的脚本

Copy

nuget push Zero.Test.1.0.1.nupkg -Source http:

结果如下图:
640?wx_fmt=png
浏览器访问本地ProGet,显示信息如下
640?wx_fmt=png
进入ZeroGet的Feed里面,我们可以看到刚刚本地新上传的程序集是置顶显示的。
640?wx_fmt=png
点击测试的程序集,查看程序集具体信息,作者信息,描述信息,版本信息都是我们程序里面编辑的。
640?wx_fmt=png
查看程序集依赖和项目比较,也是一样的。

640?wx_fmt=png
640?wx_fmt=png
OK,打包并上传成功,下面就是要本地项目使用刚刚的程序集了。

下载使用程序集

获取包源

在ZeroGet的Feed页面,显示有API endpoint URL:http://192.168.1.48:8624/nuget/ZeroGet/,
该路径就是ZeroGet的包源路径。
640?wx_fmt=png

添加包源

打开VS,工具》NuGet包管理器》程序包管理器设置
640?wx_fmt=png
点击NuGet包管理器下的程序包源,点击新增按钮,新增ZeroGet本地包源,如下图。
640?wx_fmt=png

使用包源

在项目下,右击打开“管理NuGet程序包”,将程序抱怨切换到ZeroGet,如下图所示,我们就可以看到我们刚刚上传到本地库的程序集信息了。
640?wx_fmt=png
点击安装后,自动安装该程序集以及它的依赖项。如下图。
640?wx_fmt=png
640?wx_fmt=png

验证程序引用正常

下图是Zero.Test项目代码,简单的将对象转换成字符串类型。
640?wx_fmt=png
下图是在控制台项目,用NuGet应用程序集Zero.Test后,调用Zero.Test.Convertor.GetObjString方法的执行结果,说明Zero.Test该程序集正常工作,引用正常。
640?wx_fmt=png

参考

  • 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 
640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CQRS架构下Equinox开源项目分析

一.DDD分层架构介绍本篇分析CQRS架构下的Equinox开源项目。该项目在github上star占有2.4k。便决定分析Equinox项目来学习下CQRS架构。再讲CQRS架构时&#xff0c;先简述下DDD风格&#xff0c;在DDD分层架构中&#xff0c;一般包含表现层、应用程序层(应用服务层)、领域层(领域服…

CF1548B Integers Have Friends

CF1548B Integers Have Friends 题意&#xff1a; 给定 n 和一个长度为 n 的数组 a&#xff0c;求一个最长的区间 [l,r]\left[l,r\right][l,r]&#xff0c;使得存在 m≥2和km\geq 2 和 km≥2和k&#xff0c;对于所有 l≤i≤rl\leq i\leq rl≤i≤r,ai≡k(modm)a_{i}≡k(\mod m…

仿B站(一) 目的分析以及创建 WebAPI + Angular7 项目

前言&#xff1a;本系列文章主要为对所学 Angular 框架的一次微小的实践&#xff0c;对 b站页面作简单的模仿。本系列文章主要参考资料&#xff1a;微软文档&#xff1a;    https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/?viewaspnetcore-2.1&tabsw…

Codeforces Round #736 (Div. 1Div2)

Codeforces Round #736 (Div2) Codeforces Round #736 (Div. 1) 题号题目难度AGregor and Cryptography签到BGregor and the Pawn Game模拟CWeb of Lies思维DIntegers Have Friends思维st表EThe Three Little PigsF1Gregor and the Odd Cows (Easy)F2Gregor and the Odd Cows …

Mac中搭建Kubernetes

Kubernetes是Google和RadHat公司共同主导的开源容器编排项目&#xff0c;功能非常强大&#xff0c;也非常的火热和流行&#xff0c;但同时里面也有很多的概念和名词需要我们去学习和理解。学习任何一个技术先需要把基础环境搭建起来&#xff0c;本篇就介绍怎样在Mac中启动单节点…

CF1458C Latin Square

CF1458C Latin Square 题意&#xff1a; T 组测试数据&#xff0c;每次给一个 nnn\times nnn 的矩阵&#xff0c;每行每列都是个 1→n1\to n1→n 的排列。有 m 次操作&#xff0c;如果是 UDLR 就是要把整个矩阵每行/每列往一个方向循环移动一格。如果是 IC&#xff0c;就是把…

树莓派也跑Docker和.NET Core

树莓派就是一个卡片大小的迷你电脑。有了电脑&#xff0c;我们当然得先安装系统。系统下载https://www.raspberrypi.org/downloads/raspbian/ &#xff0c;我选择的Raspbian Stretch Lite&#xff0c;不带界面的最小安装。下载win32diskimager&#xff08;烧录系统&#xff09;…

Codeforces Round #700 (Div. 1Div. 2)

Codeforces Round #700 (Div. 1&&Div. 2) 题号题目知识点AYet Another String Game签到BThe Great Hero贪心CSearching Local Minimum思维二分DPainting the Array I贪心EPainting the Array II贪心FContinuous City二进制构造GOdd Mineral Resource莫队分块域值HScho…

开源]OSharpNS 步步为营系列 - 1. 业务模块设计

OSharpNS全称OSharp Framework with .NetStandard2.0&#xff0c;是一个基于.NetStandard2.0开发的一个.NetCore快速开发框架。这个框架使用最新稳定版的.NetCore SDK&#xff08;当前是.NET Core 2.2&#xff09;&#xff0c;对 AspNetCore 的配置、依赖注入、日志、缓存、实体…

CF1479A Searching Local Minimum

CF1479A Searching Local Minimum 题意&#xff1a; 题解&#xff1a; 先说结论&#xff1a; 若l&#xff0c;r满足&#xff1a; al−1>al,ar<ar1a_{l-1}>a_{l},a_{r}<a_{r1}al−1​>al​,ar​<ar1​al,al1,....,ara_{l},a_{l1},....,a_{r}al​,al1​,....…

C#8.0的两个有趣的新特性以及gRPC

最近每天忙着跑很多地方&#xff0c;回家就不想动了&#xff0c;没什么心情写东西。今天有空&#xff0c;稍微写一点。下文中&#xff1a;关于C#语法特性的部分需要Visual Studio 2019支持。关于.NET Core的部分需要安装.NET 3.0 Preview4&#xff0c;低版本或许也可以但我没实…

CF1479B Painting the Array

CF1479B1 Painting the Array I CF1479B1 Painting the Array II 题意&#xff1a; 本题与 CF1480D2 的唯一区别是本题询问最大可能解. 给定一个数组a,你将ai染为bi色,其中b是由你指定的一个01数组.将a数组中被染成0色的数字取出来并依在a中出现的顺序排列,组成数组a(0).同理…

在 ASP.NET Core 中安装 MVC

目录本文出自《从零开始学 ASP.NET CORE MVC》目录 视频课程效果更佳&#xff1a;从零开始学 Asp.Net Core MVC 在ASP.NET Core 中安装 MVC在本视频中&#xff0c;我们将讨论在 ASP.NET Core 应用程序中设置 MVC。到目前为止&#xff0c;我们在本系列视频中使用的 ASP.NET Core…

CF1479C Continuous City

CF1479C Continuous City 题意&#xff1a; 给定 L, R. 构造一个有向带权图, 其中点数不大于 32, 且所有边都是从较小的点指向较大的点. 假设这个有向图有 n 个点, 你需要保证从 1到n 的所有路径的权值都在 [L, R]内且不存在 x∈[L,R], 使得不存在或存在多于一条从 1 到 n 的…

Office转PDF,Aspose太贵,怎么办?

在程序开发中经常需要将Office文件转换成PDF&#xff0c;著名的Aspose的三大组件可以很容易完成这个功能&#xff0c;但是Aspose的每个组件都单独收费&#xff0c;而且每个都卖的不便宜。在老大的提示下&#xff0c;换了一种思路来解决这个问题。环境dotNetCore:2.1CentOS:7.5D…

Codeforces Round #541 (Div. 2)

Codeforces Round #541 (Div. 2) 题号题目知识点ASea Battle思维BDraw!贪心模拟CBirthday思维DGourmet choiceEString MultiplicationFAsya And KittensGMost Dangerous Shark

收起.NET程序的dll来

作为上床后需要下床检查好几次门关了没有的资深强迫症患者&#xff0c;有一个及其搞我的问题&#xff0c;就是dll问题。曾几何时&#xff0c;在没有nuget的年代&#xff0c;当有依赖项需要引用的时候&#xff0c;只能通过文件引用来管理引用问题&#xff0c;版本问题&#xff0…

CF1479D Odd Mineral Resource

CF1479D Odd Mineral Resource 题意&#xff1a; 给定一棵树&#xff0c;每个点有颜色 cic_ici​&#xff0c;多次查询&#xff0c;每次给定 u,v,l,r&#xff0c;你需要给出一个颜色 x&#xff0c;使得 x 满足&#xff1a; x∈[l,r]x\in [l,r]x∈[l,r] x在u到v的路径上出现了…

从壹开始 [ Ids4实战 ] 之三║ 详解授权持久化 用户数据迁移

哈喽大家周三好&#xff0c;今天终于又重新开启 IdentityServer4 的落地教程了&#xff0c;不多说&#xff0c;既然开始了&#xff0c;就要努力做好?。书接上文&#xff0c;在很久之前的上篇文章《二║ 基础知识集合 & 项目搭建一》中&#xff0c;我们简单的说了说 Identi…

Codeforces Round #516 (Div. 2Div.1)

Codeforces Round #516 (Div. 2&&Div.1) (Div.1) 题号题目知识点AMake a triangle!贪心题BEquations of Mathematical Magic推公式COh Those Palindromes推导题(猜结论)DLabyrinthbfs剪枝EDwarves, Hats and Extrasensory Abilities思维构造FCandies for ChildrenGLas…