自建Nuget服务器

前言

【PS:原文手打,转载说明出处,博客园

java有Maven,.net有Nuget,概念就不一一阐述了,自己百度。下面直接进入正题


搭建Nuget服务器


作案工具

工具:vs2017,Nuget.exe

Nuget服务器版本:Nuget 3.1.2(笔者编写时最高版本)


 建立Nuget服务器步骤

  • 1:打开VS2017,新建Asp.Net Web 空应用程序(.net framework4.6)
  • 2:选择工具——》Nuget包管理器——》程序包管理器控制台
  • 3:输入 Install-Package NuGet.Server
  • 4:Web.config中修改ApiKey的Value值,任意填写(当如果是使用Nuget Package Explorer或者nuget pull命令时需要用到改key值,笔者不用这么麻烦的,所以不做解释)
  • 5:右键发布网站,发布至IIS(安装成功)

 打包动态库

总的概括流程为

  • 生成spec文件
  • 使用spec文件生成nupkg文件
  • 上传nupkg文件
  • 使用VS Nuget

生成Package.nuspec,命令如下

nuget spec

生成的目录在控制台文件夹前缀


编辑Package.nuspec文件

<?xml version="1.0"?>
<package >
  <metadata>
    <id>包名(动态库名称)</id>
    <version>版本号</version>
    <authors>作者</authors>
    <owners>拥有者(填写作者就是了)</owners>
    <licenseUrl>licenseUrl</licenseUrl>
    <projectUrl>projectUrl</projectUrl>
    <iconUrl>iconUrl</iconUrl>
    <requireLicenseAcceptance>需要许可验收(默认false)</requireLicenseAcceptance>
    <description>描述</description>
    <releaseNotes>没啥作用的感觉?</releaseNotes>
    <copyright>Copyright 2018</copyright>
    <tags>标签</tags>
    <dependencies>
    依赖项
      <dependency id="SampleDependency" version="1.0" />
    </dependencies>
  </metadata>
</package>

举栗子


Package.nuspec内容如下(PS:当动态库有依赖项时,则需要dependencies节点,否则不需要,当动态库无依赖.netframework时,可以移除group节点保留内节点

<?xml version="1.0"?>
<package >
  <metadata>
    <id>MK.Tool</id>
    <version>4.2.111.7</version>
    <authors>zhoudemo</authors>
    <owners>zhangsan</owners>
    <licenseUrl>http://license.zhoudemo.com</licenseUrl>
    <projectUrl>http://product.zhoudemo.com</projectUrl>
    <iconUrl>http://icon.zhoudemo.com</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>这是一个描述17777</description>
    <releaseNotes>这是一个描述2</releaseNotes>
    <copyright>Copyright 2018</copyright>
    <tags>MK Tool TEST</tags>
    <dependencies>
        <group targetFramework=".NETFramework4.5">
        <dependency id="Newtonsoft.Json" version="9.0.1" />
      </group>
    </dependencies>
  </metadata>
</package>

生成nupkg文件

 


复制MK.Tool.4.2.111.7.nupkg文件至服务器Packages目录,NugetServer自动监听,自动解压,所以上面说的用工具上传跟命令上传不做讲述。

结尾了,附图。

 


最后的干货,本文使用到的源码地址:点我下载,别怪我,因为博客园不让上传超过10兆的,所以转个1分,嘿嘿。

猜你喜欢

转载自www.cnblogs.com/zhoudemo/p/9009197.html