一、 背景

在做的一个项目使用的是Asp.Net MVC,由于缺少规范与约束,团队成员在使用类库各自为政,时常出现路径和版本不一致的问题。在一个同事建议下,开始尝试使用Nuget 管理项目或公司使用的类库。

二、 搭建Nuget.Server

2.1 新建一个Web应用程序

    WebForm或MVC都行,建议新建一个空的Web应用程序,这里使用.Net Framework版本为4.6.1:

2.2 安装Nuget.Server

通过nuget包管理工具搜索nuget.sever或者使用“工具栏—工具—NuGet包管理器—程序包管理器控制台”进行安装都行,这里使用后者:

(1)访问:https://www.nuget.org/packages/NuGet.Server/ ,选择适合自己的Nuget.Server版本,我这里选择最新版本:

(2)执行命令:Install-Package NuGet.Server -Version 2.11.3。如果中间NuGet询问web.config、favicon.ico文件与项目默认的有冲突,是否覆盖,直接输入“Y”就行了。

(3)安装成功后,设置一下Web.Config里apiKey的值,默认为空,这是用来共享类库用的:

2.3 发布并部署站点到IIS

发布完成后,如果运行出现以下错误,请按照提示删除相应节点

重新运行,成功页面如下:

三、 使用手册

3.1 使用nuget.exe命令进行管理

命令很多,使用起来也没那么方便,这里介绍几个常用的命令:

命令

说明

示例

push

发布一个包到nuget.server,包名 apikey, -Source是必须的

.\nuget.exe push .\ClassLibrary1.1.2.0.nupkg samlong -Source http://localhost:56546/nuget

delete

从指定 -Source上移除一个包,必须指定版本

..\..\nuget.exe delete Nu.Common 1.0.0 samlong -Source http://localhost:56981/nuget

list

查看服务器上有那些nuget 包

.\nuget.exe list -Source http://localhost:56546/nuget

3.2 使用NuGet Package Explorer可视化管理

3.2.1 创建包

ü  打开NuGet Package Explorer

ü  选择“Create a new package(Ctrl+N)

ü  右键->Add Lib Folder,添加lib文件夹(必须有)

ü  右键添加文件或将打好的包拖进来

ü  确认无误后点击保存

3.2.2 发布包

ü  点击“File->Publish”进行发布

ü  配置并发布

3.2.3 使用示例

ü  打开项目,右键->”管理NuGet程序包”:

ü  设置程序包源:

ü  选择刚刚添加的程序包源,即可以看到自己的发布的程序包:

ü  选择刚刚发布的程序包进行安装:

参考资料

1、  手把手教你搭建nuget服务器

2、  nuget服务器搭建,以及如何发布一个Nuget包

3、  无法添加引用。包“netMarketing”试图将 GAC 中不存在的框架引用添加到“netMarketing”中

Nuget Server的搭建及实践之旅的更多相关文章

  1. 手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行

    新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...

  2. 搭建公司内部的NuGet Server

    随着公司业务慢慢的拓展,项目便会越来越来多,很多项目会依赖其他项目DLL,比如一些底层的技术框架DLL引用,还有各业务系统的也有可能会有引用的可能. 项目多,交叉引用多,如果要是有一个DLL更新,那就 ...

  3. Nuget Server 搭建

    每个女人都有很多包包:其实男人也有,但只有会写程序的男人才有 -- 代码世界中的大"包"小"包".这些大包小包,有花钱买的,有从开源市场淘的,也有自己或同事亲手 ...

  4. .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器

    使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言     Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...

  5. nuget.server搭建及实际测试

    1.背景 由于所做项目越来越多,会积累一些公用组件,而每个项目中组件引用中如果组件有更新或者新增为了方便需要一个专门的工具进行管理,那么nuget就是不错的选择. 2.安装nuget.server 这 ...

  6. 搭建Nuget.Server push时,"Failed to process request. 'Method Not Allowed'"

    环境: windows server 2012,已经安装web dev工具. nuget.server版本2.11 输入网站地址正常访问: VS也能正常添加,nuget服务,在项目打包后上传服务器时报 ...

  7. 使用Docker 快速搭建nuget本地服务器,Hosting private nuget server using docker in seconds!

    Server #below line automatically creates the folder, mount the volumes and maps the ports. docker ru ...

  8. 自己搭建 NuGet.Server 环境

    1. 官网 https://github.com/NuGet/NuGet.Server 下载最新的源代码 VS 发布到指定的目录,比如发布到我本地 D:\Workspace\DeploymentPro ...

  9. 搭建 Nuget.Server

    公司项目容器化的需要, 小编研究将net framework项目升级成net standard 2.0,但是在打包上传nupkg 后,vs 的 nuget 插件不能识别依赖项,显示 Unsupport ...

随机推荐

  1. 获取tomcat的deploy路径(用于存放用户上传的文件,如果不放在这会出现图片不能及时加载出来的问题!)

    String path =request.getSession().getServletContext().getRealPath("/“);

  2. [网络]HTTP

    HTTP HTTP 简介 HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本 ...

  3. 文件输入输出函数fgetc/fputc及fgets/fputs等文件指针位置的变化

    文件打开后才可以对文件进行操作.也就是说,文件必须经历打开-操作-关闭的过程.如前所述,C语言对文件的操作都是通过调用标准I/O库函数来实现的.文件操作实际是指对文件的读写.文件的读操作就是从文件中读 ...

  4. 009.Kubernetes二进制部署kube-apiserver

    一 部署master节点 1.1 master节点服务 kubernetes master 节点运行如下组件: kube-apiserver kube-scheduler kube-controlle ...

  5. Linux下mysql 多实例安装配置

    首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...

  6. 花一天时间试玩vsphere6.7(EXSI)服务器版的vmware

    花一天时间试玩vsphere6.7(EXSI)服务器版的vmware 要注册账号(2019年11月14注册): 登陆网址:https://my.vmware.com/cn/group/vmware/h ...

  7. lqb 基础练习 特殊回文数

    基础练习 特殊回文数 时间限制:1.0s   内存限制:512.0MB     问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位 ...

  8. Linux菜鸟——常见命令一 查看及创建目录文件等命令

    命令行提示符 [root@localhost ~]# [当前用户名@主机名 当前所在目录]$ linux 超级用户 root window 超级用户 administartor # 超级用户 $ 普通 ...

  9. ubuntu server 1604 关机和重启

    命令有很多,记住以下两三个就够了 重启: sudo reboot (这个短,易记) sudo shutdown -r now  统一的shutdown形式 关机:sudo shutdown -P no ...

  10. 微博验证码的识别并登录获取cookies

    记得以前微博是用的宫格验证码,现在不一样了,用的是滑块验证码和 点触验证码,每天登陆的第一次基本用的是滑块,继续登录就都用的是点触验证码.所以滑块验证码不写,感兴趣的可以补上. 代码: 这里用的超级鹰 ...