zoukankan      html  css  js  c++  java
  • 如何内网搭建NuGet服务器

     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服务器 的过程就介绍完了,,

  • 相关阅读:
    LeetCode 252. Meeting Rooms
    LeetCode 161. One Edit Distance
    LeetCode 156. Binary Tree Upside Down
    LeetCode 173. Binary Search Tree Iterator
    LeetCode 285. Inorder Successor in BST
    LeetCode 305. Number of Islands II
    LeetCode 272. Closest Binary Search Tree Value II
    LeetCode 270. Closest Binary Search Tree Value
    LeetCode 329. Longest Increasing Path in a Matrix
    LintCode Subtree
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7884413.html
Copyright © 2011-2022 走看看