NuGet 2.0 (.NET软件包管理器) 发布了-现在升级吧
原文:https://blogs.msdn.microsoft.com/scott_hanselman/2012/07/10/nuget-2-0-net/
[原文发表地址] NuGet 2.0 (.NET Package Manager) released - GO UPGRADE NOW and here's why
[原文发表时间] 2012-06-27 12:51
在我们开始之前,让我们前往http://nuget.org ,然后点击安装 NuGet。其实,只需在这里做。我将要等会儿。
它是一个 2.5兆VSIX 文件,并会采取一分钟来安装。它将适用于 Visual Studio 2010 SP1,以及 Visual Studio 2012 RC。如果您同时安装了这两个版本的话,NuGet 将提示您在所有这两个版本中安装它,如果你愿意的话。
你可能会遇到的奇怪问题
如果您是早期吃螃蟹的人,而且正在测试 Visual Studio 2012 RC的话,首先,谢谢。如果您在VS 2012 RC中看到一个对话框, “Configuring Extensions ",而它似乎永远在那儿,在RTM中,我们修复了一个bug,该bug在最近的NuGet 更新中越来越频繁地出现了。当一个用户在 RC 版本中更新扩展时,该 bug 会间歇性地出现。
在 Visual Studio 2012 RC中,在" Configuring Extensions "挂起的解决方法
- 关闭所有的VS实例
- 检查 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\ExtensionManager\PendingDeletions 的内容
- 删除每个条目列出的文件夹
- 删除 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\ExtensionManager\PendingDeletions
99.9%的升级或安装将正常工作。如果你看到任何其它问题,请以管理员身份运行 Visual Studio,转到工具 |扩展管理器,然后卸载 NuGet,然后重新安装.
最常见的安装问题是与 Visual Studio 2010 SP1 的证书不匹配。不幸的是这并不是 NuGet 的 bug,但是你可以在这里获取Visual Studio 修复程序来一劳永逸地解决它http://bit.ly/vsixcertfix。我希望某一天,该修复程序会出现在Windows Update中。无论是安装该修补程序还是以管理员身份卸载/重新安装都可以修复 NuGet 的该问题。
已修复的问题和新功能
这里是一个针对在 NuGet 2.0 版本中被修复的80个问题的完整列表的查询。NuGet 已经超过 14 万个软件包下载,并在库中有超过 6,000 个唯一的软件包。你可以随时在http://stats.nuget.org看到更新过的统计信息.
最好的修复,而且是我亲自推动的是这一问题: NuGet PowerShell Tab Completion是通过慢速连接的,速度缓慢。如果您是使用慢速集合 (我指的是,New Zealand) 或只想提升速度,这是升级 NuGet的足够理由。
之前,键入Install-Package jQuery.[TAB] 会导致 HTTP 调用Odata, 那将返回比需要的更多数据。我一直在为那些不在美国 35 兆连接的家伙争取。通常是因为我在那边通过 3g 拉取数据。
在NuGet 2.0中键入Install-Package Jquery.[TAB] ,它会制作一个像这样的快速 JSON 调用:
GET /api/v2/package-ids?partialId=jQuery. HTTP/1.0
在此例中,它会返回JSON 的603 个字节,正如它应该返回的。它是快速的。
1: ["jQuery.Ajax.Unobtrusive",
2: "jQuery.ba-throttle-debounce",
3: ...,
4: "jQuery.LiveQuery",
5: "jQuery.MaskedInput",
6: "jQuery.Meow"]
你会获得一个不错的针对软件包的Intellisense。
新功能
NuGet 2.0 不仅速度更快,而且还有一些新的功能,比如通过目标框架对依赖项进行分组。您可以更改您的依赖。那样一个软件包可以服务于.NET 2 和.NET 4,但每个目标框架都需要不同的软件包。下面是一个示例:
1: <dependencies>
2: <group>
3: <dependency id="RouteMagic" version="1.1.0" />
4: </group>
5:
6: <group targetFramework="net40">
7: <dependency id="jQuery" />
8: <dependency id="WebActivator" />
9: </group>
10:
11: <group targetFramework="sl30">
12: </group>
13: </dependencies>
来自文档:
请注意一个组可以包含零依赖关系。在上面的示例中,如果该软件包被安装到一个指向 Silverlight 3.0 或更高版本的项目中,那么没有依赖项被安装。如果该软件包被安装到一个指向.NET 4.0 或更高版本的项目中,就有两个依赖项,jQuery 和 WebActivator,将被安装。如果该软件包被安装到一个指向这2 个框架的早期版本或任何其他框架的项目中,那么RouteMagic 1.1.0将被安装。组之间没有继承。如果项目的目标框架与一个组的targetFramework属性相匹配的话,只有该组中的依赖项才被安装。
更好的事情是,您现在可以根据目标框架对PowerShell 脚本,以及内容文件来进行分组。具体可运行的脚本取决于您的版本和可以包含具体的内容文件。这将使用您对依赖项使用的相同的目录层次结构,现在它适用于 /content 和 /tools。
打开"生成期间允许 NuGet 下载缺失的软件包"让你的生活更轻松
最后,应注意,您必须至少一次显式地给予"还原软件包"以确定,以便让 NuGet 为你获取一堆依赖项。通常你想要编译一个大项目,或许该项目包括一个packages.config,但不是软件包本身 (例如,您不希望将二进制的软件包签入到源代码管理中) 因此,在生成时,NuGet 将恢复缺失的软件包。你只需要做一次以满足要求.
偷窥一些UI 功能 (感谢 Mads !)
你知道Visual Studio2012中新的 Ctrl-Q"搜索所有命令"功能吗?我在Mads 的计算机上看到一个NuGet的每日生成的改进,它不仅搜索 Visual Studio 本地的命令,而且也搜索 Visual Studio库和 NuGet 软件包。如果你喜欢此功能,请留下评论,我会对Mads施加压力的。或者,你会。;)
大型软件包重命名
我们已经更改了一堆软件包的名称 (并转发了旧名称), 所以逻辑上至少更多倾向Microsoft。例如,这里是 Microsoft.AspNet … …
此 RC 版本中,所有参与在 ASP.NET 产品中的 NuGet 软件包都被重命名了。我们内部称它为"大型软件包重命名2012。"这里是旧的软件包名称与新的软件包名称之间的映射。在此列表中,旧的名称引用了产品的先前版本,包括与 VS 11 beta 版附带推出的Beta版。
旧的软件包 |
新的软件包 |
AspNetMvc |
Microsoft.AspNet.Mvc |
AspNetRazor.Core |
Microsoft.AspNet.Razor |
AspNetWebApi |
Microsoft.AspNet.WebApi |
AspNetWebApi.Core |
Microsoft.AspNet.WebApi.Core |
AspNetWebApi.SelfHost |
Microsoft.AspNet.WebApi.SelfHost |
AspNetWebPages.Core |
Microsoft.AspNet.WebPages |
AspNetWebPages |
Microsoft.AspNet.WebPages.Administration |
jQuery.Ajax.Unobtrusive |
Microsoft.jQuery.Unobtrusive.Ajax |
jQuery.Validation.Unobtrusive |
Microsoft.jQuery.Unobtrusive.Validation |
Microsoft.Web.Optimization |
Microsoft.AspNet.Web.Optimization |
SqlServerCompact |
Microsoft.SqlServer.Compact |
System.Net.Http |
Microsoft.Net.Http |
System.Net.Http.Formatting |
Microsoft.AspNet.WebApi.Client |
System.Web.Providers |
Microsoft.AspNet.Providers |
System.Web.Providers.Core |
Microsoft.AspNet.Providers.Core |
System.Web.Providers.LocalDb |
Microsoft.AspNet.Providers.LocalDb |
System.Web.Providers.SqlCE |
Microsoft.AspNet.Providers.SqlCE |
我们希望其它公司 (和Microsoft内部的其他团队) 将遵循相同的标准命名结构
NuGet 2.0 (.NET软件包管理器) 发布了-现在升级吧的更多相关文章
- Gitea v1.17.0 正式发布 | 集成软件包管理器、容器镜像仓库
我们自豪地宣布 Gitea v1.17.0 发布了.本次发布带来了诸多新特性和累积的更新,我们强烈建议用户在更新到最新版本之前仔细阅读发行注记. 在 1.17.0 版本的开发中我们一共合并了 645 ...
- BZOJ 4196: [Noi2015]软件包管理器 [树链剖分 DFS序]
4196: [Noi2015]软件包管理器 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1352 Solved: 780[Submit][Stat ...
- [BZOJ4196][NOI2015]软件包管理器
4196: [Noi2015]软件包管理器 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1040 Solved: 603[Submit][Stat ...
- BZOJ4196 软件包管理器
Description Linux用户和OSX用户一定对软件包管理器不会陌生. 通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖 ...
- 【NOI2015】软件包管理器
NOI难得的水题,话说还是T2诶……又学到了线段树的一种新的魔性使用 看sxysxy大神的代码才写出来的,sxysxy_orz 原题: Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包 ...
- Chocolatey:Windows软件包管理器
Chocolatey 2016-08-03 https://chocolatey.org/ Chocolatey是一个Windows软件包管理器,就像Nuget或者npm,或者说类似Linux上的ap ...
- BZOJ_4196_[NOI2015]_软件包管理器_(树链剖分)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=4196 给出一棵树,树上点权为0或1.u权值为1的条件是从根节点到u路径上的所有点权值都为1.u ...
- Bzoj 4196: [Noi2015]软件包管理器 树链剖分
4196: [Noi2015]软件包管理器 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 721 Solved: 419[Submit][Statu ...
- noi2015 day1 T2软件包管理器
noi2015 软件包管理器 Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软 ...
- bzoj 4196: [Noi2015]软件包管理器
Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖( ...
随机推荐
- SQL语句02(连表查询)
---恢复内容开始--- sql1992sql分类 1.笛卡尔积 (表乘表) 例:select * from emp,dept; 2.等值连接 表的连接条件使用“=” 例:select * ...
- Windows网络服务渗透攻击分类
网络服务渗透攻击分为三类 一.针对于windows系统自带的网络服务的渗透攻击 1.针对于NetBIOS的攻击 NetBIOS以运行在TCP/IP系统中的NBT协议来实现,具体包括在UDP的137端口 ...
- (转载)Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
1 import java.util.Collections; 2 import java.util.LinkedList; 3 import java.util.List; 4 5 public c ...
- python 获取函数调用者
import traceback def _mode(): print "hi---------------------------" print traceback.extrac ...
- ACM,算法
ACM,算法 描述 最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数.他已经知道了第一个小光棍数是471,471的三次方是104487111,现在 ...
- Ruby(3):基本语法中
字符串分割成数组: 可以使用先scan再join的方法,当然其实有更好的 split方法,专门用来分割字符串 # 在Ruby中,如果不使用inspect,直接使用puts输出数组,那么每个元素会占用一 ...
- springmvc fileupload
1.pom文件中fileupload的dependencyyinr <dependency> <groupId>commons-fileupload</groupId&g ...
- js文件加载太慢,JavaScript文件加载加速
原文出自:https://blog.csdn.net/seesun2012 js脚本加载太慢,JavaScript脚本加载加速(亲测有效) 测试背景: JS文件大小:6.1kB 传统形式加载js文件: ...
- Jquery Ajax 复杂json对象提交到WebService
在ajax的已不请求中,常常返回json对象.可以利用json.net给我们提供的api达到快速开发. 例子: using System;using System.Collections;using ...
- js 写日期选择器
<html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="con ...