大致流程:
1. 通过VS创建一个Web空项目,然后通过Nuget引入Nuget.Server(目前最新版3.2.1)。
2. 直接将这个Web项目发布到IIS。
3. 通过nuget.exe打包*.nupkg文件,然后拷贝到IIS对应目录。
4. 在VS的Nuget包管理器中加入私服的地址。
5. 最后就可以像使用nuget.org的包一样引入自己的包了。

搭建Nuget私服

首先通过VS创建一个web空项目,.net版本选择4.6

引入Nuget.Server

然后就是等待安装过程:

安装完成后:

最后把这个web项目发布到IIS上面,示例地址:http://127.0.0.1:8003,发布后的首页如下:

发布项目到Nuget

发布到nuget上面需要后缀名为. nupkg的文件,nupkg是nuget的标识后缀,其实就是压缩文件,大家可以把后缀修改为zip就可以解压了。
首先我们需要下载nuget.exe,我们可以单击网页的首页链接下载,这里我们下载的版本是5.1.0

然后把下载下来的nuget.exe文件拷贝到C:\Windows\System32下

通过项目发布

首先我们肯定要有一个类库项目,然后找到该类库项目文件.csproj目录,在此处打开控制台应用程序,输入如下命令:nuget pack

如果是需要Release发布:nuget pack -Properties Configuration=Release

这个时候在该目录下就会创建一个.nupkg文件,这个文件就是我们所说的nuget文件。

该文件的版本号来源于AssemblyInfo.cs文件

通过该项目通过nuget所引用的其它包也会作为新生成这个包的依赖。

通过DLL发布

通过DLL的发布是也非常重要,有时候我们并没有项目源码,只有那个项目的DLL,为了通过nuget管理起来也需要发布到我们的私服,具体的操作步骤如下:
1. 任意地方创建一个目录Nuget
2. 在Nuget目录打开DOS命令窗体
3. 在DOS窗体输入命令:nuget spec

此时会在该目录创建文件Package.nuspec

4. 将需要打包的DLL文件拷贝到Nuget\lib目录
5. 修改文件Package.nuspec内容

6. 如上,dependencies表示依赖的包,files表示需要打包哪些文件,src表示来源文件,target表示目标目录。

7. 最后还是在Nuget目录执行命令:nuget pack Package.nuspec(Package.nuspec可以省略)
8. 至此,你会发现Nuget目录同样生成了一个nupkg文件。

将nupkg发布到IIS

已经生成的nupkg怎么发布呢,很简单,直接把这个文件拷贝到我们私服的Packages目录下,私服就会自动解压了。

引用Nuget私服

前面一系列的操作都是为了使用,那么如何使用了,如上所说,我们默认发布的IIS地址是:http://127.0.0.1:8003。
然后我们打开Visual Studio,找到菜单工具—选项—Nuget包管理器—程序包源

配置成功之后,我们就可以使用了,如下:

关于版本号的引用

总结:
1. 常用命令:nuget pack/nuget spec
2. 如果打包项目提示未找到文件,请先生成项目文件
3.默认DLL文件打包到lib文件夹下面,其它配置文件打包到content文件夹下面

4.IIS的web.config里面的appSettings节点下面有几个配置非常重要

requireApiKey:是否验证密钥

apiKey:密钥的值

allowOverrideExistingPackageOnPush:是否允许覆盖具有相同Id的版本。

5.除了直接把nupkg文件拷贝到服务器之外,还可以通过nuget.exe的命令推送,推送命令是: nuget push Gd.RedisCache.1.0.0.nupkg -Source http://192.168.103.112/Nuget/nuget -ApiKey 123456

6.通过项目生成Nuget包的命令:nuget pack -Properties Configuration=Release

本文参考地址:https://www.cnblogs.com/h82258652/p/4898983.html

一步一步搭建Nuget私服的更多相关文章

  1. 使用nexus来搭建Nuget私服

    近期在搭建nuget私服.选择nexus这个产品.nexus支持npm,.nuget等,功能比较强大. 前言 博主使用centos7.5来搭建nexus,遇到了不少的问题.最后还是搞定了. 1:下载n ...

  2. 搭建Nuget服务器(Nuget私服)

    一.前言 对公司或者对个人来说,经过一段时间的沉淀之后,都会有一些框架或者模块,为了对这些框架或者模块进行更好的管理和维护,也为了方便后面的开发或者其他同事,我们可以在我们本地或者内网搭建一个Nuge ...

  3. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  4. #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验

    #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验 一.续上前言 关于这个小玩意的产品思考,假设我暂时把他叫我是月老热心人 这是一个没有中心的关系链,每个人进入以后都是以自己为中 ...

  5. 一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)

    cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 ...

  6. 一步一步教你编写与搭建自动化测试框架——python篇

    [本文出自天外归云的博客园] 这两天用python写了一个自动化测试框架,取名为Auty.准备用来做Web方面的接口测试,以下为Auty框架一步一步的搭建过程——

  7. 一步一步搭建Jenkins环境

    Jenkins使用经验谈1(一步一步搭建Jenkins环境)在公司使用 Jenkins 软件已经有一段时间了,走了很多弯路,但也积累了一些经验,可以和大家分享一下.我们来一起搭建Jenkins环境.首 ...

  8. 一步一步搭建客服系统 (2) 如何搭建SimpleWebRTC信令服务器

    上次介绍了<3分钟实现网页版多人文本.视频聊天室 (含完整源码)>使用的是default 信令服务器,只是为了方便快速开始而已.SimapleWebRTC官方文档里第一条就讲到,不要在生产 ...

  9. [ALM]一步一步搭建MS ALM环境 - 安装TFS + SQL SERVER

    描述: 安装SQL SERVER 2012,安装TFS 2013,配置TFS,挽起袖子,准备干活儿 步骤: 1,打开Hyper-V Manager,参考[Hyper-V]使用操作系统模板创建新的虚拟机 ...

随机推荐

  1. border边框设置为1px

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. redis过期机制及排行榜

    redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略:  volatile-lru:从已设置过期时间的数据集(server.db[i].expire ...

  3. proc文件系统详解

    /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux内核空间和用户间之间进行通信.在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段, ...

  4. Python+request 将获取的url和接口响应时间(timeout)写入到Excel中《八》

    使用场景: 在工作中,常见某个功能的查询,当查询关联表特别多时,开发写的SQL语句等等问题导致响应时间较慢,那么作为测试需要将每个接口的响应时间进行测试,对同个接口多次执行,并将测试结果写入到exce ...

  5. node.js中允许的app对象声明方式

    伪对象形式 app = function () { console.log("我是一个初始化的app对象"); }; app.get=function () { console.l ...

  6. BZOJ 3589 动态树 (树链剖分+线段树)

    前言 众所周知,90%90\%90%的题目与解法毫无关系. 题意 有一棵有根树,两种操作.一种是子树内每一个点的权值加上一个同一个数,另一种是查询多条路径的并的点权之和. 分析 很容易看出是树链剖分+ ...

  7. 【题解】P3069 [USACO13JAN]牛的阵容Cow Lineup-C++

    题目传送门 思路这道题目可以通过尺取法来完成 (我才不管什么必须用队列)什么是尺取法呢?顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后 ...

  8. .Net library

    1.Intelligencia.UrlRewriter https://github.com/sethyates/urlrewriter 2.iTextSharp library http://blo ...

  9. 牛客小白月赛11 Rinne Loves Xor

    题目链接:https://ac.nowcoder.com/acm/contest/370/I code: #include<bits/stdc++.h> using namespace s ...

  10. qt 布局管理按钮控件间有空隙?

    定义了几个按钮控件,想要按钮间没有空隙,我使用setspaces(0)来设置它们之间的间隔. 结果控件间还是有空隙,如图 我对控件所在的widget的背景进行设置,(会把style传到子控件)发现结果 ...