本文链接:https://blog.csdn.net/Microsoft_Mao/article/details/101159800
做windows开发的,迟早会接触到nuget这个东西,那么今天我们就来研究一下什么是nuget?

我们先从另外一些大家熟悉的概念入手,做linux的大家应该应该听说过apt-get,yum,deb等等,是的这些都是包管理相关的。

而nuget就是跟他们一类的东西,nuget就是一套用于代码共享的标准的体系,这里面包含了代码包的创建,存储,以及共享,相应的有对应的工具,来完成这些事儿。

来自微软的定义:

a NuGet package is a single ZIP file with the .nupkg extension that contains compiled code (DLLs), other files related to that code, and a descriptive manifest that includes information like the package's version number.a NuGet package is a shareable unit of code, but does not require nor imply any particular means of sharing.

翻译下来,nuget包 就是一个扩展名是.nupkg的zip文件,这个文件里包含了dll文件,还有相关文件,以及一个用来描述包信息的文件清单。nuget包是可共享code的一个单元,但是并不对共享的方式做要求。

当开发者想把自己的代码(一般是编译好的)共享给其他人的时候,他就可以使用nuget相关工具,将这些code打包,然后把这些包放到一个公共的或者私有的共享空间,想使用这些code的人,从这些地方获取到包,然后加入到自己的工程里,调用这些code。nuget就是这些步骤的具体实现。

典型的nuget 工作流程

1 创建包
    负责把源代码,编译成二进制(assemblies),然后使用工具将这些dll打包成nuget包。(待续)

2 共享服务
     包生产者,将放到包共享服务 上。

3 使用包
     使用者,通过搜索,将包下载下来,然后加入到自己的工程中去,加进去以后呢,生产者暴露出来的API,就可以被使用者使用了。

————————————————
版权声明:本文为CSDN博主「Microsoft_Mao」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Microsoft_Mao/article/details/101159800

什么是nuget?nuget包是如何管理的更多相关文章

  1. zh-Hans vs.net 通过 管理nuget程序包下载简体中文语言包 zh-cn

    zh-Hans  vs.net 通过 管理nuget程序包下载简体中文语言包 在搜索中输入:zh-hans

  2. ORM之PetaPoco错误--VS中NUGet程序包管理安装PetaPoco

    一般在Vs中使用PetaPoco的时候都是使用NuGet程序包管理来安装PetaPoco的,如果你在安装PetaPoco前设置了ConnectionString,那么PetaPoco中的T4模板会自动 ...

  3. 在 VS 2013/2015 中禁用 nuget 包的源代码管理

    对于加入源代码管理如TFS的解决方案,当使用nuget获取包时,下载的包并没有自动从源代码管理中排除,导致包(packages文件夹)会一同上传到服务器. 若要排除nuget包的源代码管理,须在 解决 ...

  4. VS2012 安装 NPOI (管理NuGet程序包)

    问题背景 选择项目后右键==>管理NuGet程序包,搜索NPOI,返回服务器无法找到...404 解决方法: 第一步: 访问:https://www.nuget.org/api/v2/      ...

  5. VS2013中Nuget程序包管理器控制台使用入门(三)-项目实战(原创)

    VS2013中Nuget程序包管理器控制台使用入门(三)-项目实战 1.给指定项目安装Newtonsoft.Json ,Version 4.5.11 PM> Install-Package Ne ...

  6. VS2013中Nuget程序包管理器控制台使用入门(二)-如何使用Nuget提供的帮助(原创)

    如何使用Nuget提供的帮助? 1.从get-help Nuget开始,键入“get-help NuGet”以查看所有可用的 NuGet 命令. 用法: PM> get-help Nuget 主 ...

  7. VS2010使用NuGet程序包管理器

    使用C#过程中经常需要使用一些扩展包,例如sqlite,json解析等. VS2010自带了一个扩展管理器,里面可以下载到AStyle,Visual Assit等有用的插件. VS2010中点击[工具 ...

  8. 管理nuget程序包中搜索不到任何程序包

    之前一直使用vs2012开发,管理nuget程序包没有出现过什么问题.因为开发需要,需要使用vs2015,安装vs2015后再使用vs2012时,发现管理nuget程序包中搜索不到任何资源,晕死. 想 ...

  9. visual studio NuGet 常用包管理命令

    visual studio NuGet 常用包管理命令 查找包 Find-Package [包名] Find-Package [包名] -AllVersions 安装包 Install-Package ...

  10. 善用 NuGet 程序包管理器控制台

    每种集成开发环境都会提供扩展包的下载与安装,VS (微软可视化集成开发环境) 下的叫程序包管理控制台,我们把他叫做<牛干 程序包管理控制台>. 在 工具=>NuGet 程序包管理器= ...

随机推荐

  1. swiper快速切换插件(两个综合案例源码)

    swiper快速切换插件 swiper.js自己去官网下载哈.先来一个tab切换案例: demo.html <!doctype html> <html> <head> ...

  2. 【Unity|C#】基础篇(1)——基础入门

    [学习资料] <C#图解教程>(第2~12章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baid ...

  3. Android_SQLite简单的增删改查

    SQLite数据库,和其他的SQL数据库不同, 我们并不需要在手机上另外安装一个数据库软件,Android系统已经集成了这个数据库,我们无需像 使用其他数据库软件(Oracle,MSSQL,MySql ...

  4. LRU算法实现 最近最久未使用

    1.LRU算法实现 最近最久未使用(蚂蚁金服笔试题,本人亲自经历的[苦笑.jpg]) 实现原理:数组 主要功能:初始化.入队列 主要操作:数组元素移动 代码: package com.ch.evalu ...

  5. Net项目添加 WebAPI

    1.新建一个  WebApiConfig.cs public static void Register(HttpConfiguration config) { // Web API 配置和服务 // ...

  6. MATLAB用“fitgmdist”函数拟合高斯混合模型(一维数据)

    MATLAB用“fitgmdist”函数拟合高斯混合模型(一维数据) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在MATLAB中“fitgmdis ...

  7. Linux运维---16. Kolla部署OpenStack外接rabbit集群

    # 前提时rabbit集群已经搭建完成 vim /etc/kolla/globals.yml enable_rabbitmq: "no" rpc_transport_url: &q ...

  8. 2019牛客多校第八场A All-one Matrices 悬线法,单调栈待补

    All-one Matrices 题意 对于一个n,m的01矩阵,问有多少个极大矩阵. 分析 对于悬线法来说,其过程就是枚举极大矩阵的过程,那如何计数呢?对于一个点来说,若其左右边界包含了上一个点的悬 ...

  9. 对Ajax返回的json数据做处理报错

    这个错误出现的原因是我再返回数据为json时,我页面的Ajax没有指定dataType: 'json'

  10. TD - SimpleTextarea

    html模板 <input dojoType="bootstrap.form.SimpleTextarea" dojoAttachPoint="assetDescr ...