使用 NuGet 管理项目库

共享和重用代码是一个很大的挑战。 不相信? 请随便走进一间中型或大型工作室,问问他们有多少日志记录库。 访问多家公司后,您将发现他们拥有比例非常高的内部日志记录库,而这些库中有一些非常不错,例如,Log4Net、NLog 和 Error Logging Modules and Handlers(即 ELMAH)。

当一位开发人员开始新项目时,他将面对一张空白的画布。 他如何去发现这些有用的库? 如何将库集成到当前项目中并管理库的依赖项和更新呢?

ELMAH 就是一个非常有用的库,是由开发人员自己编写的。 ELMAH 能够在出现异常时记录 Web 应用程序中所有未经处理的异常以及所有请求信息,例如,标头、服务器变量等。 假设您刚刚听说 ELMAH 并希望在下一个项目中使用它。

您可能会采取下列步骤:

查找 ELMAH。由于它名称独特,Bing 搜索的第一条搜索结果将是 ELMAH Google 代码页。
下载正确的 zip 包。该站点的下载页面有多个 zip 包。 您必须思考并选取正确的一个。 有时,您并不能一眼就看出正确的是哪个。
“取消阻止”程序包。从 Web 下载程序包后,您需要右键单击该文件,打开“属性”对话框,然后单击“取消阻止”按钮以从该文件删除“Web 的标记”。
验证其哈希值是否与托管环境提供的哈希值相符。Google 代码站点会显示代表该 zip 文件的 QR 代码。 在您认识的开发人员中,有多少会抽出时间来根据 QR 代码验证文件?
将程序包的内容解压缩到解决方案中的特定位置。大多数开发人员会避免将程序集解压缩到 bin 目录,这是因为该目录用于生成输出而非输入,并且不在版本控制的跟踪范围之内。 实际上,有必要将该依赖项添加到版本控制之下的文件夹,并从该位置引用该程序集。
在项目中添加程序集引用。必须在 Visual Studio 项目中添加对该程序集的引用,然后才能使用该程序集。
使用正确的设置更新 web.config。这可能意味着您要使用 Bing 或 Google 进行更多搜索才能找到配置文件所需的正确设置。
真是很麻烦! 现在,假设您必须为 10 至 15 个依赖项执行这些操作。 当您的应用程序要发布新版本时,您需要花费大量时间为应用程序的依赖项搜索更新。

NuGet 是一种 Visual Studio 扩展,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 程序包是打包成一个文件的文件集,扩展名是 . nupkg,使用开放打包约定 (OPC) 格式。

OPC 仅仅是具有某些元数据的 zip 文件的首字母缩写词。 事实上,您可能早已熟悉 OPC,因为 Word 和 Excel 文档正是使用此格式。 如果您取一个 .docx 文件并将文件扩展名改为 .zip,您实际可以打开它并浏览里面的内容。 . nupkg 文件同样如此。

NuGet 产品同样随附能够轻松创建和发布程序包的实用工具。具体可以参照博客园的Dudu文章:程序员,用NuGet管理好你的包包。

成为 NuGet 创建者

创建Nuget 库

http://sidewinder.codeplex.com/

NuGet 2.0带来新的打包规约,但还不支持Mono、Python和C++

NuGet 2.0 (.NET软件包管理器) 发布了-现在升级吧

NuGet套件還原步驟使用Visual Studio 2012 為例

Team Foundation Server - 使用NuGet搭配版本控制

搭建NuGet私服

集成NuGet Package到Jenkins CI

时间: 2024-10-01 08:05:06

使用 NuGet 管理项目库的相关文章

.NET 使用 NuGet 管理项目库

下面两个标题,各链接不同噢,NuGet 指向其下载安装地址,并且也是其库所在,可以搜到你想要的 .net 组件. 比如你可以搜一下 mvc ,就会出现 asp.net mvc 一类的插件,这个早些年有用过几次,确实不错. NuGet 有点像 Maven 的库一样,很方便,这大概就是趋势吧. 不知道苹果上是否有这样的东西,当然了,苹果的一站式开发环境已经很全,不需要引入外包,不过第三方包还是需要的. NuGet 使用 NuGet 管理项目库 Phil Haack   无论多么努力,Microsof

手把手教你----使用Nuget管理自己的项目库

什么是NuGet 为什么用NuGet 怎么使用NuGet STEP1 在NuGet官网上注册并获取API Key STEP2 下载NuGetexe STEP3 设置API Key SETP4 开发自己的类库 STEP5 产生并修改nuspec STEP6 产生类库包Library Package STEP7 发布类库包 STEP8 测试以及更新类库包 什么是NuGet? 官网上的解释:NuGet is the package manager for the Microsoft developme

Entity Framework 5.0系列之EF概览

概述 在开发面向数据的软件时我们常常为了解决业务问题实体.关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案.ADO.NET Entity Framework是.NET开发中一种由ADO.NET驱动的ORM框架,使用Entity Framework开发人员可以不必考虑数据的基础数据表和列,在处理数据时能够以更高的抽象级别进行工作,并能够以相对传统开发编写更少的代码来创建和维护应用程序. 我们知道面向对象的编程与数据存储系统的交换提出了一个难题:类结构通常同关系数据表组织结构

Entity Framework CodeFirst尝试

原文:Entity Framework CodeFirst尝试 前言 Code First模式我们称之为"代码优先"模式,是从EF4.1开始新建加入的功能.使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的实现过程),然后自动生成数据库.这样设计的好处在于我们可以针对概念模型进行所有数据操作而不必关系数据的存储关系,使我们可以更加自然的采用面向对象的方式进行面向数据的应用程序开发. 从某种角度来看,其实"Code First"

Nuget如何管理本地的包

1.在nuget中创建一个本地的程序包源   2. 制作我们本地的包  使用nuget package explorer制作我们本地的包 下载地址:http://npe.codeplex.com/releases/view/68211 详细步骤: 点击创建选项 点击编辑 编写信息和添加dll,然后点击左上角的打钩保存 ctrl +s 保存文件 再次打开Nuget管理器,看到了有木有  名称和刚才不一样,是因为和log4net重复了,重新修改了下   相关文章推荐: 发布自己的类库到nuget h

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

原文:[过程改进]10分钟进阶Nuget 目录 nuget初识 nuget本地包 nuget解决依赖冲突 nuget是什么 .net版的maven(java)? 如果你用过windows的chocolatey,mac的homebrew或许更容易理解他,先来回顾下以前我们是如何处理或者碰到过的问题. 1.假如我需要合并2个项目,这2个项目是不同的作者,项目中都使用到了log4net并且版本不同,那么你需要做一系列的改动来保证配置文件的正常工作. 2.同样在团队合作中,随便使用某个源代码管理工具,一

NuGet安装及简单使用

通过Visual Studio安装NuGet 直接下载并安装NuGet 通过Visual Studio安装NuGet 打开Visual Studio扩展管理器 2.选择联机库,并在搜索中写入NuGet,然后点击搜索结果中NuGet Package Manager后的下载 3.下载完成后,出现条款窗口,点击"安装"即可 安装成功后重起Visual Studio即已安装成功 当我们重起完VisualStudio,再次打开"扩展管理器"时就能在"已安装的扩展&q

移动应用开发—— 如何搭建开发大型的应用架构?

     什么是一个好的应用架构?怎么才能搭建大型的应用架构?其实每个人在工作几年之后都会有这个疑问,都在寻求好点的框架,那么小编我总结一下我的经验给大家.      其实对于客户端,一个好的应用架构,复杂度不亚于服务端,因为需要承载需求和产品的变更,如果前期没弄好,后期要么成烂尾,要么就重构去吧~~性质其实和服务端是差不多的,客户端侧重于逻辑和框架.     其实搭建架构,不单单要考虑到实际成本和产品的需求,更重要的是支撑这些事情的基础,这就是做架构要考虑的事情. 调用网络API 页面展示 数

.Net框架搭建之2、SQL Server MEF依赖注入 MVC Repository框架

MEF依赖注入简介 依赖注入对于开发人员来说,方便的就是不需要去关注具体的实现类,不需要去New实例对象,直接使用接口层就能让程序自动注入使用,当然,还有其他一些特点,比如web http同一个请求中可以设置同一个对象只实例化一次解决多个类中多次实例化对象浪费资源的问题.不多说,百度能得到更多 多的介绍,这边直接开工搭环境. 1.数据模型Model层创建 数据模型层,首先要创建数据库,再创建Model类. 创建数据库,表,添加一条测试数据 创建数据库 创建数据表 添加测试数据 我们已经知道有几层