自建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 </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分,嘿嘿。
自建Nuget服务器的更多相关文章
- 搭建自己的Nuget服务器
序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者github,又或者是各自为政版本类库随意使用? 那么你们使用者写类库的时候方便吗? 有没有更新下载,版本不一致 ...
- 手把手教你搭建nuget服务器
新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...
- 搭建nuget 服务器
前言 搭建nuget服务器,这是上家公司进行类库管理的方式,其实优点很明显, 1.代码保密 2.代码重复利用效率高,这样不管任何项目只要知道nuget服务器地址就能直接调用 3.可进行版本任意切换提高 ...
- 手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行
新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...
- (转)搭建自己的Nuget服务器
转:https://www.cnblogs.com/knowledgesea/p/5500954.html 序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者gi ...
- 通过ProGet搭建一个内部的Nuget服务器
.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...
- 用ProGet搭建内部的NuGet服务器
最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功,服务器上就是没有.懶得再去排查这个问题,早就想换掉这个过于简陋的NuGet服务器,借此机会直接弃旧迎 ...
- 将库打包到nuget服务器
前言 由于目前.net core无法引用本地的 assembly ,所以尝试将项目的依赖库打包到nuget服务器. 相关的工具 Nuget Package Explorer 参考文档 dotnet ...
- NuGet学习笔记3——搭建属于自己的NuGet服务器
文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...
随机推荐
- Java多种方式读文件,追加文件内容,等对文件的各种操作
一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 import java.io.BufferedReader; import jav ...
- pig的cogroup详解
从实例出发 %default file test.txt A = load '$file' as (date, web, name, food); B = load '$file' as (date, ...
- Zookeeper运维
一.运维配置 参考:http://zookeeper.apache.org/doc/r3.4.6/zookeeperAdmin.html#sc_configuration 基础配置 ...
- Android必知必会--使用shape制作drawable素材
前言 最近看到朋友制作的Android APP使用了极少的图片,但是图形却极其丰富,问了之后得知是使用shape绘制的,有很多优点. 下面是我整理的一些素材: 预览 下面是图片预览: 代码 布局文件 ...
- Java集合之Collection
Java集合是java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等.Java集合工具包位置是java.util.* Java集合主要可以划分为4个部分:List列表.Set集 ...
- Android 获取某apk的签名信息,可用作防盗版进入。
转载请标明出处: http://write.blog.csdn.net/postedit/45721779作者:skay 一般项目中有防盗版的需求,必须是正版软件才能使用,这就需要获取当前安装包的签 ...
- Android ORM 框架之 greenDAO
前言 我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite.然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等.所以,适用于 Android 的ORM ...
- TCP的核心系列 — 重传队列的更新和时延的采样(二)
在tcp_clean_rtx_queue()中,并非对每个ACK都进行时延采样.是否进行时延采样,跟这个ACK是否为 重复的ACK.这个ACK是否确认了重传包,以及是否使用时间戳选项都有关系. 本文主 ...
- Oracle rownum 分页, 排序
Oracle rownum 分页, 排序 什么是rownum, rownum的生成, rownum相关的符号操作 Rownum是oracle生成结果集时得到的一个伪列, 按照读出行的顺序, 第一条ro ...
- WPF中使用后台代码来控制TreeView的选择项(SelectedItem)以及展开节点操作
首先为TreeView控件制作一个Style: <Style x:Key="LibraryTreeViewItemStyle" TargetType="{x:Typ ...