原文:http://www.cnblogs.com/zhangweizhong/p/7755332.html

  NuGet 是.NET程序员熟知的工具,它可以直接安装开源社区中的各个公用组件,可以说是非常方便。不过,有些时候,公司内部的公用的基础类库,各个项目都有引用,但又不能发布到公共的NuGet服务器上,所以我们需要自己架设一个私有服务,通过NuGet 来的各个项目中用到的公共组件进行管理。就非常的方便。也便于组件版本的管理。

一、NuGet网站构建

  1. 创建一个空的ASNET网站
   

  注意:将Framework 设置为4.6 以上,NuGet.Server库 要求.net framework 的版本是4.6 。

  2. 用NuGet为 NuGetServer 安装“NuGet.Server”库。
 
  安装成功后,你的Solution会变成这样一个结构。并且不需要写任何代码或更改任何配置,它已经可以运行了。运行此网站,如果看到下面的欢迎界面,就表示网站已经构建完成了。
   
   注意:Packages里只有一个readme.txt,这个目录是用来放NuGet包的,点击 here 连接,可以查看现有的包。
 

  3. 部署网站

  这也和部署任何一个ASP.NET网站完全一样。这里不细说。
 
 

二、把代码打包为NuGet包

  1. 去Nuget官网下载nuget command line tool,

  下载地址:https://www.nuget.org/downloads

  2. 用Nuget打包

   Nuget 有两种打包方式:

   A:直接通过工程文件打包dll:

     1 创建一个类库,然后编译下。把刚才下载的nuget.exe拷贝到工程文件所在的文件夹中:

      

    2. 通过命令行来创建nuget包:nuget.exe pack

     

  B:使用nuget的spec文件进行打包,。

    1. 同样把要打包的DLL跟NuGet.exe放在一个目录下,用nuget spec命令创建一个nuspec文件:

    

    2. 打开Package.nuspec文件,可自定义一些配置,。

     注意:$description$使用AssemblyDescriptionAttribute的值进行替换,在产生package之前,一定要记得先编译项目,否则会提示$description$找不到的错误;

    3. 用 NuGet pack打包成Nuget包:

    

  至此打包完毕。

三、 把NuGet包上传到服务器

  将打包好的.nupkg 文件 拷贝到 第一步中架好的Nuget服务器 的Package目录下。可以Nuget 服务中自己写一个文件上传的功能,来降低拷贝的麻烦。

 

四、配置Visual Studio

  Nuget 服务已经架设成功,接下来就要在VS里配置NuGet 源,让其他的项目可以使用我们的NuGet服务器。
  选择工具-》Nuget包管理器-》程序包管理控制台,点击 配置图标:
   

  添加,设置本地的NuGet源名字和地址即可。注意:source 最后是 /nuget

 
  完成后,我们的VS就可以从私服上安装NuGet包了。
 

五、在其他项目中使用 

  到目前为止NuGet服务器端已经配置完成,类库和DLL文件的打包也介绍完毕, 接下来我们该如何在项目中引用内网NuGet 服务器中的包呢,步骤如下:

  1、 新建一个NuGetTest 项目,然后 工具-》Nuget包管理器-》程序包管理控制台 ,在命令行:install-package IKSDK

   

  2、最后看看效果啦:

   

至此,内网搭建NuGet服务器 的过程就介绍完了。

【转】如何内网搭建NuGet服务器的更多相关文章

  1. 如何内网搭建NuGet服务器

    NuGet 是.NET程序员熟知的给.NET项目自动配置安装library的工具,它可以直接安装开源社区中的各个公用组件,可以说是非常方便.不过,有些时候,公司内部的公用的基础类库,各个项目都有引用, ...

  2. 搭建nuget 服务器

    前言 搭建nuget服务器,这是上家公司进行类库管理的方式,其实优点很明显, 1.代码保密 2.代码重复利用效率高,这样不管任何项目只要知道nuget服务器地址就能直接调用 3.可进行版本任意切换提高 ...

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

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

  4. 搭建Nuget服务器

    1.新建一个web网站应用程序 (最好是ASP.NET空Web应用程序) 2.通过NuGet扩展 引用 NuGet.Server包 引用之后的项目结构为 将此网站部署到IIS上,即可访问,既搭建好了 ...

  5. 手把手教你搭建nuget服务器

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

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

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

  7. 搭建nuget服务器(二):制作nuget包

    生成nuget包可以使用nuget.exe或者下载nuget package explorer工具 nuget package explorer 下载地址:https://github.com/NuG ...

  8. 基于 BaGet 搭建 Nuget 服务器

    1 前言 1.1 BaGet 介绍 BaGet 是一个轻量级的,开源的,跨平台的 Nuget 和 symbol 服务器. 1.2 环境介绍 操作系统:CentOS 7 使用 Docker 安装 2 安 ...

  9. 图解NuGet服务器搭建和使用过程

    听语音 浏览:0 | 更新:2017-10-31 09:13 | 标签:服务器 1 2 3 4 5 6 7 分步阅读 本篇经验将和大家介绍内网搭建NuGet服务器的步骤,希望对大家的工作和学习有所帮助 ...

随机推荐

  1. springboot学习入门之四---开发Web应用之Thymeleaf篇

    http://tengj.top/2017/03/13/springboot4/ 1项目结构 说明: root package结构:com.dudu 应用启动类Application.java置于ro ...

  2. linux 自启动 ,让生活更美好!!

    systemctl enable svnserve.service systemctl enable iptables.service systemctl enable firewalld.servi ...

  3. [SQLServer] 数据库SA用户被锁定或者忘记密码的恢复

    一.以管理员权限运行命令提示符 CMD C:\>net stop mssqlserver您想继续此操作吗? (Y/N) [N]: y C:\>net start mssqlserver / ...

  4. Invalid argument during startup: unknown conf file parameter : requirepass

    redis 设置来密码,出现来这个错误, 把配置文件那一行的 空格 去掉 # requirepass foobared 改成 requirepass 123456 因为# 和 requirepass ...

  5. TreeSet集合的add()方法源码解析(01.Integer自然排序)

    >TreeSet集合使用实例 >TreeSet集合的红黑树 存储与取出(图) >TreeSet的add()方法源码     TreeSet集合使用实例 package cn.itca ...

  6. Linux----CentOS-7搭建免流服务器(iOS 端)

    本次实验采用腾讯云服务器:https://cloud.tencent.com/ 大学生身份的可以看看有没有什么活动购买 其他身份的78一个月 关于腾讯云服务器的使用可以看看腾讯云的使用手册 本博客涉及 ...

  7. RMAN恢复脚本案例

    $ crontab -l0 12,19 * * * $ORACLE_HOME/scripts/arcbkup.sh59 03 * * *  $ORACLE_HOME/scripts/dbbkup.sh ...

  8. 深入浅出SharePoint——配置List通过邮件来接收内容

    应用场景:在SharePoint的开发中,我们经常需要通过接收并解析Mail的方式来进行数据通信. 解决方案:通常有两种方式:一种是直接使用公司的Exchange服务器,一种是在SharePoint ...

  9. November 28th 2016 Week 49th Monday

    You only live once, but if you do it right, once is enough. 年华不虚度,一生也足矣. One today can win two tomor ...

  10. in有两种用法:

    # in有两种用法: 1. 在for中. 是把每一个元素获取到赋值给前⾯的变量. 2. 不在for中. 判断xxx是否出现在str中. #len() 为内置函数,输出为1,2,3,4....., 长度 ...