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是必须的

.\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”中

posted @ 2019-12-07 17:42  yscit  阅读(1445)  评论(0编辑  收藏  举报