自建Nuget服务器
2024-10-16 11:48:28
前言
【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 </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 </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分,嘿嘿。
最新文章
- 使用rsync同步文件
- 管理系统UI: System Bar 详解
- UrlConnection连接和Socket连接的区别
- 《DDNS服务器的搭建和案例解决方法》
- 2.5.3 使用alertDialog创建自定义对话框
- Oracle ORA-03137: TTC protocol internal error : [12333] 故障分析
- 发布(Windows)
- linux sar 命令详解(转载)
- Angular中 build的时候遇到的错误--There are multiple modules with names that only differ in casing
- @method_decorator() 源码解析
- Spark_RDD之RDD操作简介
- Couple number
- Android 测试之Monkey
- maven依赖包冲突解决思路
- 【转】cocos2d-x动画加速与减速
- (动态规划 01背包 打印路径) CD --UVA --624
- FastAdmin 环境变量 env 配置
- 洛谷P1789【Mc生存】插火把 题解
- js的同步异步
- PAT 天梯赛 L1-030. 一帮一 【STL】
热门文章
- React Native入门教程2 -- 基本组件使用及样式
- emacs24 颜色主题设置
- Django练习——博客系统小试
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(三)
- JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展
- MySQL学习笔记_4_MySQL创建数据表(下)
- Linux学习笔记 --服务器优化
- 断言(Assertion)需要注意的一个地方
- How To Get Log, Trace Files In OA Framework Pages And Concurrent Request Programs
- linux下安装ruby版本管理器RVM