通过ProGet搭建一个内部的Nuget服务器

.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少故障发生以并使得项目稳定运行。

nuget.org 有个指南Hosting Packages Overview 告诉你如何自己搭一个nuget Server,社区还有下面的几个相关方案都可以实现自己搭建Nuget Server:

  • Nexus: 支持NuGet, 他也是可以免费使用的,对于要同时支持Maven等的可以考虑,对于纯粹的.NET支持上有点重
  • MyGet: 这是一个Nuget云服务,不适合企业内的私有部署
  • Self-hosted feeds: 小团队使用可以,很快你就会掉到坑里,一个很简陋的NuGet服务器很难以满足各方面的需求
  • ProGet,它和Nexus一样虽然是商业软件,支持nuget、npm、docker等,但它是.NET生态应用,而且还提供了免费版本,博客园也是用ProGet,具体参看dudu的文章《用ProGet搭建内部的NuGet服务器》。

下面我们就来看看如何使用ProGet搭建一个内部的NuGet服务器,由于时间的关系dudu的安装方法已经不适用了,实质上ProGet分为绿色版和安装包两个版本,绿色版就是dudu上面所说的,而简单点的是直接安装包安装,跟着向导做就可以了,下面介绍下绿色版的安装:

1、 浏览器打开http://inedo.com/proget/versions 并下载最新的4.3.1 Manual Install版

proget43

2、 解压下载文件,得到3个文件夹:ProGet-Service 、ProGet-WebApp与ProGet-DbChangeScripter

3、 参考http://inedo.com/support/documentation/proget/installation/manual ,我们使用IIS来承载,需要安装数据库和IIS 站点。

4、 在IIS中创建一个站点指向ProGet-WebApp文件夹,应用程序池配置为经典模式(Classic)。[注:如果采用集成模式(Integrated),会出现HTTP Error 403.14 - Forbidden错误]。

5、 在SQL Server中创建一个名为ProGet的数据库,然后运行ProGet-DbChangeScripter文件夹中的bmdbupdate.exe程序。出现命令行菜单,输入update(进行update操作),接着输入数据库连接字符串回车,默认true,继续回车(进行数据库初始化操作),然后会进行数据库初始化操作。

progetupdatedb

6、 在完成数据库初始化操作之后,修改一下web.config中的数据库连接字符串,然后就可以正常访问自己搭建的ProGet站点。

7、 去ProGet的官网 my.inedo.com 注册一个帐户并获取免费版的License Key,登录进入自己搭建的ProGet站点,点击“Licensing and Activation”,输入之前得到的License Key进行激活。激活后就可以正常使用ProGet

8、 进入 Manage Default Feed ,修改一下Disk Path的值,设置为存放packages文件的物理路径。

除了用于存放自己的nuget packages,ProGet还可以通过connector连接到远程的nuget.org服务器,这样可以把ProGet站点作为nuget.org的缓存服务器。

转载于:https://www.cnblogs.com/shanyou/p/5910250.html

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

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

相关文章

unity官方教程-TANKS(一)

unity官方教程TANKS,难度系数中阶。跟着官方教程学习Unity,通过本教程你可以学会使用Unity开发游戏的基本流程。 一、环境 Unity 版本 > 5.2Asset Store 里面搜索 Tanks!Tutorial ,下载导入 二、项目设置 为了便于开发,很多时候我们选用的…

Play框架的用户验证。

最近刚刚参与一个基于Play框架的管理平台的升级工作,其中涉及到了用户的验证工作。第一次接触play框架,直接看已有代码,有点晕。因此,自己实现了一个简单的用户验证功能。 首先,新建一个User类,包含两个属性…

C#条件运算符if-else的简化格式

文章目录博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 条件运算符(?:)是if……else的简化形式 其使用格式为&#xff1a…

码率控制方式选择

同码率下的图像质量或同图像质量下的码率。 AVCodecContext /** * the average bitrate * - encoding: Set by user; unused for constant quantizer encoding. * - decoding: Set by libavcodec. 0 or some bitrate if this info is available in the strea…

Fortran执行语句中的“双冒号” ::

双冒号“::”,通常出现于Fortran在变量声明中,但是在特殊情况下,也会出现于数组中。例如: ... real,target,dimension(10):: a real,pointer,dimension(:):: pa,pb integer:: n3 ... pa > a(n::1) pb > a(n:10:1) ... 咋一看…

VS配置本地IIS以域名访问

1.IIS下配置自己的网站,添加主机名 2.修改hosts文件(C://Windows/System32/drivers/etc) 3.VS中配置项目Web服务器(选择外部主机) 转载于:https://www.cnblogs.com/zuimeideshi520/p/7028544.html

try、catch、finally 和 throw-C#异常处理

文章目录博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。 异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。…

Spark RDD/Core 编程 API入门系列 之rdd实战(rdd基本操作实战及transformation和action流程图)(源码)(三)...

本博文的主要内容是: 1、rdd基本操作实战 2、transformation和action流程图 3、典型的transformation和action RDD有3种操作: 1、 Trandformation 对数据状态的转换,即所谓算子的转换 2、 Action 触发作业,即所谓得结果…

用GDB调试程序

GDB概述GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所…

灯塔的出现给那些有想法,有能力而又缺乏资金的社区人士提供了一条途径

2019独角兽企业重金招聘Python工程师标准>>> 在上个月,BCH社区传出基于比特币现金的众筹平台Lighthouse(灯塔)正在复活的消息,并且有网友在论坛上贴出了部分网站图片。当消息被证实为真,官网和项目的审核细…

PID 算法理解

PID 算法 使用环境:受到外界的影响不能按照理想状态发展。如小车的速度不稳定的调节,尽快达到目标速度。 条件:闭环系统->有反馈 要求:快准狠 分类:位置式、增量式 增量式 输入:前次速度、前前次速度、前…

C#字符串的基本操作

文章目录简介字符串判断是否相等语法实例字符串比较大小语法实例判断字符串变量是否包含指定字符或字符串语法实例查找字符串变量中指定字符或字符串出现的位置语法实例取子串语法实例插入子串语法实例删除子串语法实例替换子串语法实例去除字符串空格语法实例博主写作不容易&a…

C++利用SOCKET传送文件

C利用SOCKET传送文件 /*server.h*/ #pragma comment(lib, "WS2_32") #include <WinSock2.h> #include <iostream> //#include <stdio.h> #include <assert.h> #ifndef COMMONDEF_H #define COMMONDEF_H #define MAX_PACKET_SIZE 10240 …

三种方式在CentOS 7搭建KVM虚拟化平台

KVM 全称是基于内核的虚拟机&#xff08;Kernel-based Virtual Machine&#xff09;&#xff0c;它是一个 Linux的一个内核模块&#xff0c;该内核模块使得 Linux变成了一个Hypervisor&#xff1a;它由 Quramnet开发&#xff0c;该公司于 2008年被 Red Hat 收购 KVM的整体结构&…

(五)EasyUI使用——datagrid数据表格

DataGrid以表格形式展示数据&#xff0c;并提供了丰富的选择、排序、分组和编辑数据的功能支持。DataGrid的设计用于缩短开发时间&#xff0c;并且使开发人员不需要具备特定的知识。它是轻量级的且功能丰富。单元格合并、多列标题、冻结列和页脚只是其中的一小部分功能。具体功…

拾取模型的原理及其在THREE.JS中的代码实现

1. Three.js中的拾取 1.1. 从模型转到屏幕上的过程说开 由于图形显示的基本单位是三角形&#xff0c;那就先从一个三角形从世界坐标转到屏幕坐标说起&#xff0c;例如三角形abc 乘以模型视图矩阵就进入了视点坐标系&#xff0c;其实就是相机所在的坐标系&#xff0c;如下图&am…

StringBuilder-C#字符串对象

博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 在C# 中&#xff0c;string是引用类型&#xff0c;每次改变string类对象的值&#xff0c;即修改字符串变量对应的字符串&#xff0c;都需要在内存中为新的字符串重新分配空间。在默写特定的情况…

java 19 - 11 异常的注意事项

1 /*2 * 异常注意事项:3 * A:子类重写父类方法时&#xff0c;子类的方法必须抛出相同的异常或父类异常的子类。(父亲坏了,儿子不能比父亲更坏)4 * B:如果父类抛出了多个异常,子类重写父类时,只能抛出相同的异常或者是他的子集,子类不能抛出父类没有的异常5 * C:如果被重写的…

数组去重的各种方式对比

数组去重&#xff0c;是一个老生常谈的问题了&#xff0c;在各厂的面试中也会有所提及&#xff0c;接下来就来细数一下各种数组去重的方式吧&#xff1b; 对于以下各种方式都统一命名为 unique&#xff0c;公用代码如下&#xff1a; // 生成一个包含100000个[0,50000)随机数的数…