【过程改进】10分钟进阶Nuget

原文:【过程改进】10分钟进阶Nuget

目录

  nuget初识

  nuget本地包

  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来查看下区别

  

  

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

  

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

 

  

 

时间: 2024-07-30 11:23:17

【过程改进】10分钟进阶Nuget的相关文章

Intercom的持续部署实践:一天部署100次,1次10分钟

本文讲的是Intercom的持续部署实践:一天部署100次,1次10分钟,[编者的话]这篇博文分享了 Intercom 公司在持续部署的经验和体会.Intercom 公司从创业起步时就开始认定持续部署的重要性,从2002年每天10次部署,到今年每天接近100次的部署,积累了丰富的经验,对持续部署有着较为深刻的认识,虽然本文没有详尽的技术细节,所谓的干货,不过个中经验分析,比如 "帮助新来的工程师"这个想法蛮有新意,另外正如文中所说 -- "部署时间的增加,会使你的产品变得越来

Linux下LCD 10分钟自动关屏的问题总结

Linux下的LCD驱动默认10分钟后会自动关闭屏幕,我们可以修改一下代码让其不自动关屏 在有一个 drivers/char/vt.c 文件其中有一个变量(blankinterval)可以设置它来修改自动关屏的时间,也可以在函数(blank_screen_t)开头直接返回,这样就永远不会关屏了   在用LCD显示的时候,发现10分钟LCD就不再工作了.确实,Linux下有一个参数blankinterval的值就是10*60*Hz. 它决定了LCD只显示10分钟,然后LCD控制器就被关掉了. 具体

10分钟精通SharePoint-发展历程

SharePoint从2001的第一个版本到SharePoint 2016经历了16个春秋,经过无数用户的反馈和攻城狮们的心血发展至今,为企业和用户创造了价值 SharePoint 2001 - "以文档管理和门户为主要功能服务企业" SharePoint Team Service(STS) SharePoint Portal Server(SPS) SharePoint 2003 - "在2001基础上添加搜索和扩展开发功能" Windows SharePoint

用药提醒程序设计(原创)(定时、定时3次、按用户定时,前半小时2分钟提醒一次,后一个半小时10分钟提醒一次)

思路大致是这样的: 1.用户手动输入(模拟服务器发来的消息),将用药提醒时间存入SQLITE数据库,同时,每隔2分钟的间隔录入一个时间点,持续录入15个(即30分钟),每隔10分钟的间隔录入一个时间点,持续录入9个(即90分钟),共计2小时,24个标记位状态都列为0: 2.如果到了时间点,响起闹铃,用户取消,所有的标志位都重新置为1: 3.如果到了SQLITE录入时间点3小时以后的时间,所有的标志位重新置为0: 4.监听进程一直获取当前的时间,如果当前的时间到了数据库记录的时间点,并且标志位是0

如何10分钟搞定撞库

近期,阿里云云盾安全团队检测到越来越多的撞库攻击事件,在大数据应用越来越广泛的今天,撞库攻击带来的危害也越来越不容忽视.那么何为撞库攻击?撞库对用户可能有哪些危害?还有最关键的,作为大多数专注业务发展的公司来说,如何防止撞库威胁到自家信息安全呢?安全君将一一为您解读. 一.懒,可能成为撞库"成功"的罪魁祸首 撞库攻击没有那么高深,举个例子来说,假设我有一个XX邮箱的账号,用户名是abc@xx.com,密码是x6!00AL5y@(很复杂,很安全).同时因为懒癌晚期的缘故,我还用这个账号注

如何10分钟装扮成大数据营销专家?

现在参加个活动,如果听不到"大数据"."大数据营销"这类词,说明你混的不是互联网圈子,不够前沿,要注意革命形象了. 这里有一种快速打入圈子的方式,能让你短时效地装一下.你花10分钟时间就能准备好. 首先要花记住几个词:跨屏.精准.RTB.程序化购买.定向--然后说出来,是否觉得比以前的4P.4C等等更有面子? 剩下的,就需要化繁为简.迅速了解几种主流的大数据营销模式.熟悉了它们,就有了判断一家企业是否具备大数据营销能力的标准.这里介绍四种主流模式,分别是互渗关联模式

上云就是这么简单——阿里云10分钟快速入门

如今,云产品可谓是多种多样,纷繁复杂,作为国内云计算领域领头羊的阿里云就有几十种产品和服务,比如ECS.RDS.OSS.SLB.CDN--,一系列东西很容易让人找不到头绪,尤其是刚刚开始接触网站建设的朋友. 因此我们制作了这个教程,让你在10分钟内了解云产品的具体使用方法. 10分钟快速入门:https://yq.aliyun.com/promotion/142 在学习前别忘了领取免费的云产品套餐哦!   通过这个教程,你可以了解到: 1.一站式建站 建站过程非常简单,小型网站只需一台云服务器E

10分钟让你明白大数据 网友观点大拆解

文章讲的是10分钟让你明白大数据 网友观点大拆解,大数据的概念被吵的越来越厉害,这对于一个新技术领域的诞生是一个必经过程.对于"大数据"(Big Data),研究机构Gartner给出的定义是:"大数据"是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产. 两年前,<纽约时报>撰文"欢迎大数据的到来",两年后,大数据的商业价值已经显现.在各个行业,我们都已能看到大数据的身影.网友关于大数据

海航云计算成果:采购流程从2个月缩短到10分钟

海航集团海航信息董事长何海燕在第四届中国云计算论坛上透露:通过http://www.aliyun.com/zixun/aggregation/13422.html">云计算技术,海航采购流程从过去的2个月,缩短到现在只需要10分钟.云桌面虽然只部署了600多台,但是部署成本降低了30%.当前海航的终端服务维护都是远程进行,现场人员只在4个地方停驻,但是不阻碍海航提供的信息服务遍及全国甚至国外. 何海燕认为:云计算是一个循序渐进的过程,海航云计算建设从虚拟化起步. 据何海燕介绍,海航从200