Nuget Server的搭建及实践之旅

Posted yscit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nuget Server的搭建及实践之旅相关的知识,希望对你有一定的参考价值。

一、 背景

在做的一个项目使用的是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是必须的

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

delete

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

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

list

查看服务器上有那些nuget 包

. uget.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的搭建及实践之旅的主要内容,如果未能解决你的问题,请参考以下文章

Nuget快捷实践

使用NuGet.Server搭建公司内部的Nuget(包)管理器

Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台

window系统下搭建本地的NuGet Server

在Windows上搭建Nuget服务

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