10分钟进阶Nuget

nuget是什么

  .net版的maven(java)?
如果你用过windows的chocolatey,mac的homebrew或许更容易理解他,先来回顾下以前我们是如何处理或者碰到过的问题。

1.假如我需要合并2个项目,这2个项目是不同的作者,项目中都使用到了log4net并且版本不同,那么你需要做一系列的改动来保证配置文件的正常工作。

2.同样在团队合作中,随便使用某个源代码管理工具,一般每个人在本地都有一个工程副本,对于第三方的(或者公用的)程序集(例如Common,Utility等)引用或许大家会指定一个相对的路径。但是对于一次版本更新维护成本,或许也能接受。

3.项目依赖问题,如果组件A依赖组件B,组件B关联组件C...
如果工程不是自己从头开始掌控或者直接就是修改前任的代码,某些组件莫名丢了或者其中的一个版本升级了....

4.在.net工程中添加js或者程序集有时候所需要的安装工作可能不仅仅是copy一个js或者js,还需要关联的js,css,jpg,config有的甚至要添加module和handler,在人为的操作和确认过程中难免会遇到一些磕磕绊绊。

所以nuget诞生了

nuget能做什么

  NuGet 是一种 Visual Studio 扩展,它能够简化在 Visual Studio
项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 程序包是打包成一个文件的文件集,扩展名是 . nupkg,使用开放打包约定 (OPC)
格式。解决上述的问题,nuget对于版本的更新迭代,程序集的共享,管理都有着巨大的作用,如果你还在徒手添加程序库,你,out了!

安装,引用,卸载,更新

  最简单的方法是从“Tools”(工具)|“Extension Manager”(vs2013中是Extensions and
Updates)菜单选项启动 Visual Studio Extension Manager。单击“Online Gallery”(联机库)选项卡查看可用的 Visual Studio 扩展名

  

  需要引用库的时候,只要筛选出库的名称然后点安装,会提示你选择需要安装的项目

  

  卸载同样简单,在已安装中选中需要卸载的库点击管理,去掉已安装项目的勾选即成。

  

  如果要更新到最新版本,在扩展包管理器窗口中有需要更新的一览列表

  

  如果要更新到指定版本,需要多一些其他的操作,首先找到nuget的官方网站http://www.nuget.org/,筛选出要安装的库

  

  这里我们选择log4net

  

  历史版本变全在这里了。

  回到Visual Studio从tools中打开包管理器

  

  键入指定的版本号,注意要安装的默认项目

  

  至此,对nuget应该已经有了初步的了解


  下面我们来看下如何管理本地的包

  首先从tools|Options中选中包管理,除了第一个官方源以外下面都是可以自定义的。如果是团队项目还可以指向一个共享目录。

  

  那么如何制作我们本地的包呢,首先你要准备nuget package explorer

  

  拖入你要管理或者共享的库

  

  保存成.nupkg即可。另外引用nuget管理的工程在根目录下都会存在一份配置文件packages.config,里面可以看出所引用的包的信息以及版本。

  


  还有一种特殊的情况就是假如你做开源项目的扩展,例如umbraco,它们有时候会引用一些更改过的无签名或者公钥的组件。这个时候如果你从官方源中引用对应的组件会导致冲突。

  

  这里使用ildasm来查看下区别

  

  

  对于这种情况,解决办法之一就是建立一个适配器一样的中间件,也就是用本地包包含一个对应的无公钥的库。

  

  最近会更新一些过程改进的内容,希望对大家有帮助。

感谢作者共享:http://www.cnblogs.com/dubing/p/3630434.html

时间: 2024-08-29 19:37:12

10分钟进阶Nuget的相关文章

花10分钟搞懂开源框架吧 - 【NancyFx.Net】

原文:花10分钟搞懂开源框架吧 - [NancyFx.Net] NancyFx是什么? Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互. Nancy 设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DS

C# 10分钟完成百度图片提取文字(文字识别)——入门篇

现在图片文字识别已经很成熟了,比如qq长按图片,点击图片识别就可以识别图片的文字,将不认识的.文字数量大的.或者不能赋值的值进行二次可复制功能. 我们现在就基于百度Ai开放平台进行个人文字识别,demo使用的是C#控制台应用程序,后续有需要的可以嫁接到指定项目中使用,比如提供选择图片,点击识别, 获取返回的值.废话不多说,上干货: 总体为: 注册百度账号api,创建自己的应用: 创建vs控制台应用程序,引入动态链接库: 编写代码调试,效果图查看: 总结. 1.创建百度AI文字识别应用   在百度

史上最简约的vi教程,10分钟包教会

从第一次接触vi/vim到现在已经十几年了,在这个过程中,来来回回,反反复复,学习vi很多次了. 虽然关于vi的使用,我还远未达到"专家"的水平,但对于vi的使用,我有话说. 1.缘起 vi是一个编辑器,起源于unix,在linux中非常常用.关于vi的使用,网上有大量的教程,但质量良莠不齐,很容易误导"新手".本文的价值在于,我走了十几年的弯路,你可以少走弯路. 每个人学习vi的目的不一样,学习过程和学习方法也比如不同.一般学习者分如下3种情况: 新手级 新手要求

使用 Chrome 浏览器插件 Web Scraper 10分钟轻松实现网页数据的爬取

本文标签: WebScraper Chrome浏览器插件 网页数据的爬取 使用Chrome 浏览器插件 Web Scraper 可以轻松实现网页数据的爬取,不写代码,鼠标操作,点哪爬哪,还不用考虑爬虫中的登陆.验证码.异步加载等复杂问题. Web Scraper插件 Web Scraper 官网中的简介: Web Scraper Extension (Free!)Using our extension you can create a plan (sitemap) how a web site

[每周翻译]作为一个计算鸡领域相关的学生狗,有毛东西可以让我花10分钟学习然后享受一生的?

原文地址:https://www.quora.com/As-a-computer-science-student-what-can-I-learn-right-now-in-just-10-minutes-that-could-be-useful-for-the-rest-of-my-life 问:作为一个计算鸡领域相关的学生狗,有毛东西可以让我花10分钟学习然后站撸不哭的?我知道这个问题和 What can I learn/know right now in 10 minutes that w

【白话篇】10分钟搞懂字符编码

如上图所示为常见的,让人看了头晕的 几个种编码. 看懂下面几条规则,你就明白他们的关系了. [1]有些人说,GBK严格来说是字符集,而utf-8则是编码,这种区分已经相当模糊了,他们都是"字节到字符的映射关系",所以下面都用编码来说吧. [2] ISO-8859-1 这种编码是单字节编码,衍生于ASCII,表示范围0-255,只要按照ASCII的规则设计的编码,不管是几字节的,都可以和ISO-8859-1兼容. [3]比如说,GBK编码(双字节)能转化成ISO-8859-1编码,是因为

10分钟学会基于ASP.NET的 JQuery实例 (转)

本文介绍如何在ASP.NET(ASP.NET/AJAX)里使用基于JQuery的AJAX技术.(源代码下载见最后) 在使用JQuery前,请到www.jquery.com下载最新版本的js代码,然后再代码里使用 <script src="_scripts/jQuery-1.2.6.js" type="text/javascript"></script>即可,当然,由于微软已经把JQuery集成到VS里,所以你可以到WWW.ASP.NET/aj

如何在excel里面生产条形码(10分钟让你的excel里面出现条形码)

如今快递行业,京东购物,等都在使用条形码管理,那么如何在你的excel里面也生产条形码进行商品管理呢?其实很简单,4步骤学会!10分钟搞定! 1,从下面给出的网址中,下载字体, 2,双击安装字体, 3,在excel里面选择字体 4,内容是有规范的哦,比如:123的条形码,输入的内容是*123*: 截图说明: ===================================华丽的分割线====================================== 字体地址: http://yu

微信小程序详细图文教程-10分钟完成微信小程序开发部署发布(3元获取腾讯云服务器带小程序支持系统)

很多朋友都认为微信小程序申请.部署.发布很难,需要很长时间. 实际上,微信和腾讯云同是腾讯产品,已经提供了10分钟(根据准备资源情况,已完成小程序申请认证)完成小程序开发.部署.发布的方式.当然,实现的是基础功能.但是,可以给学习者很便捷的体验和很好的启发. 不过,随着微信平台和云服务的发展,真担心,程序猿会失业! 目录 一.微信小程序申请 二.服务器设置(申请.部署.域名) 1.申请服务器 2.部署服务器 3.域名申请和配置 三.小程序发布 1.下载DEMO 2.下载开发工具并安装 3.配置参