自建Nuget服务器

前言

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

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

作案工具

建立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

生成、编辑ackage.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分,嘿嘿。

 

posted @ 2018-05-08 17:11  随风ˇ止步  阅读(1056)  评论(0编辑  收藏  举报