前言

【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 </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服务器的更多相关文章

  1. 搭建自己的Nuget服务器

    序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者github,又或者是各自为政版本类库随意使用? 那么你们使用者写类库的时候方便吗? 有没有更新下载,版本不一致 ...

  2. 手把手教你搭建nuget服务器

    新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...

  3. 搭建nuget 服务器

    前言 搭建nuget服务器,这是上家公司进行类库管理的方式,其实优点很明显, 1.代码保密 2.代码重复利用效率高,这样不管任何项目只要知道nuget服务器地址就能直接调用 3.可进行版本任意切换提高 ...

  4. 手把手教你 通过 NuGet.Server 包 搭建nuget服务器,并使用桌面工具上传 nuget 包,免命令行

    新建web项目 工具:VS2013 版本:.Net Framework 4.6,低版本也行,不过要找到对应版本的Nuget.Server 装了NuGet客户端(百度如何安装) WebForm或MVC都 ...

  5. (转)搭建自己的Nuget服务器

    转:https://www.cnblogs.com/knowledgesea/p/5500954.html 序言 你们公司有没有好多项目,有没有好多类库,你们的类库是在tfs中管理,还是svn或者gi ...

  6. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  7. 用ProGet搭建内部的NuGet服务器

    最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功,服务器上就是没有.懶得再去排查这个问题,早就想换掉这个过于简陋的NuGet服务器,借此机会直接弃旧迎 ...

  8. 将库打包到nuget服务器

     前言 由于目前.net core无法引用本地的 assembly ,所以尝试将项目的依赖库打包到nuget服务器.  相关的工具 Nuget Package Explorer 参考文档 dotnet ...

  9. NuGet学习笔记3——搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

随机推荐

  1. 欢迎进入我的个人博客 anzhan.me

    CSDN的博客依旧会更新,但是还是专注于技术. 个人的博客 http://anzhan.me 不单单会同步csdn的技术文章,还会有个人的更多私人的分享,包括旅行日记.欢迎各位朋友经常去看看,大家有私 ...

  2. 图文浅析APK程序运行的过程

    概述 APK程序运行过程有别于FrameWork底层启动过程,它们是倆码事,本文将以图文方式总结一下APK启动的过程,主要分为一下部分 [1]基本概念 [2]APK过程 1 .新的知识点 [1]什么是 ...

  3. android异步任务asyntask详解

    在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更 ...

  4. 检查app的activity是否在当前

    APP开发中经常会遇到这种需求,需要检查当前的APP是不是可见的,比如,如果是可见的就维持一个socket长连接,如果切到后台不可见了,就断开这个连接.Android本来并不允许APP去监听home键 ...

  5. eclipse如何正确部署tomcat7

    eclipse如何正确部署tomcat7 单独运行apache-tomcat-7.0.65(startup.bat)后,在浏览器输入  http://localhost:8080  可以正常出现tom ...

  6. 工作中常用的Linux命令

    1.从其他机器拷贝文件夹 格式: scp -r 文件夹名 用户名@机器名:/路径 范例: scp -rsearch work@zjm-testing-ps23.zjm.baidu.com:/home/ ...

  7. 敏捷测试(4)--基于story的敏捷基础知识

    基于story的敏捷基础知识----需求管理(一) 基于story进行需求管理 (1)使用story模式来管理需求,将庞大的MRD划分为一个个合适粒度,且可独立交付的story(通常每个story能在 ...

  8. linux 下检查java jar包 程序是否正常 shell

    linux 下检查java jar包 程序是否正常 shell http://injavawetrust.iteye.com BATCH_SERVER="batch.jar" NR ...

  9. 一篇详细的linux中shell语言的字符串处理

    1 cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? cut命令主要 ...

  10. LayoutInflater和inflate的用法,有图有真相

    1.概述 有时候在我们的Activity中用到别的layout,并且要对其组件进行操作,比如: A.acyivity是获取网络数据的,对应布局文件为A.xml,然后需要把这个数据设置到B.xml的组件 ...