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