一、 背景

在做的一个项目使用的是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. Azure上MySQL的离线备份:将备份拷贝到Azure Blob上

    公司在Azure的Iaas虚拟机上部署有好几台MySQL数据库,至于没有选择Azure Database for MySQL,是因为预算有限(钱不够啊!说多了也是泪,坑的还是DBA自己).选择了Iaa ...

  2. postman发送json参数到后端controller报错415的解决方案

    警告 [http-nio-8080-exec-9] org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.l ...

  3. svn:"Update item to this version"、"Revert to this version"及"Revert changes from this version"详细说明

    背景: 今天在svn分支上做了一些课题性研究,发现当前的环境版本不稳定, 和领导研究后决定还原到前面的版本以继续进行课题. 问题: 因此遇到了问题,是应该选择“Update item to this ...

  4. Python Socket学习之旅(二)

    Socket函数 注解: Socket的close和shutdown--结束数据传输: close-----关闭本进程的socket id,但链接还是开着的,用这个socket id的其它进程还能用这 ...

  5. 使用 vue-element-admin 动态路由渲染

    附上:vue-element-admin 官方文档 vue-element-admin https://panjiachen.github.io/vue-element-admin-site/zh/g ...

  6. 深入理解计算机系统 第三章 程序的机器级表示 part3

    这周看了刘老师提供的相关视频,以及书中对应的章节“3.7 过程” 这一节分为运行时栈.转移控制.数据传送.栈上的局部存储.寄存器中的局部存储空间和递归过程这 6 个小节 其中前 3 小节看懂了一部分内 ...

  7. 重写equals方法,也应该重写hashcode方法,反之亦然

    yls 2019年11月07日 一方面 hashcode原则:两个对象equals相等,hashcode值一定相等 默认的hashcode是Object类通过对象的内存地址得到的 若重写equals而 ...

  8. java编程思想第四版第十四章 类型信息总结

    1. Class 对象: 所有的类都是在对其第一次使用的时候,动态加载到JVM中的.当程序创建第一个对类的静态成员的引用时,就会加载这个类.这说明构造器也是类的静态方法.即使在构造器之前并没有stat ...

  9. nyoj 10 skiing (DFS)

    skiing 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  10. nyoj 255-C小加 之 随机数 (map)

    255-C小加 之 随机数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:15 提交数:18 难度:1 题目描述: ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查, ...