使用NuGet 更新套件时将jQuery 升级到2.0.2 应该如何降级

原文转自:http://blog.miniasp.com/post/2013/06/11/Downgrading-jQuery-version-with-NuGet.aspx

我们在Visual Studio 2012 里面会使用NuGet 管理员管理那些常用的开发函式库,例如jQuery、Json.NET、 EntityFramework、ELMAH、… 等等。各位可能也了解到,目前jQuery 最新版为2.0.2 版,这个最新版基本上仅支援IE9 以上浏览器( IE8 以下不支援),因此大部分人应该都不会选择安装最新版的jQu??ery,但是在使用NuGet 安装或更新套件的过程中,却有可能不小心将jQuery 套件自动升级到最新版,导致网站发生许多相容性的问题。今天这篇文章主要就是说明如何手动将jQuery 降级到1.x 的版本。注: 此方法适用于任何NuGet 套件,所以若要指定降级版本,都可以参考这篇文章。

前阵子,我就有同事因为专案中因为需要安装某个jQuery 相关套件,安装的过程中竟然顺便把jQuery 给升级到2.x 的版本,他自己却完全没有意识到jQuery 被升级了,被卡了两个多小时才找我求救,虽然给了要降版的建议,但透过管理NuGet 套件的GUI 介面,却不到将现有套件降版的功能。

若要强制解除安装jQuery,也会因为相依性等问题导致无法解除安装:

 

如果你真的要将特定NuGet 套件降版安装,主要有3 个步骤:

  1. 开启套件管理器主控台
  2. 强制移除特定 NuGet 套件
  3. 指定安装特定 NuGet 套件的特定版本

分别说明如下:

1. 开启套件管理器主控台

从主选单选取: 检视/ 其他视窗/ 套件管理器主控台 

 

2. 强制移除特定 NuGet 套件

要移除特定套件,必须先找出该套件的识别码( ID ),你可以透过以下步骤查询出来: 

 

套件管理器主控台输入以下指令,其中jQuery 是套件识别码,而-Force 则是强制移除的意思: 

Uninstall-Package jQuery -Force

3. 指定安装特定 NuGet 套件的特定版本

套件管理器主控台输入以下指令,其中jQuery 是套件识别码,而-Version 则是指定套件版本: 

Install-Package jQuery -Version 1.8.3

:如果你的 Visual Studio 方案中有多個專案,安裝時須注意是否安裝到正確的專案,如下紅框處:

如果你想查询该套件到底有多少版号,你可以直接连到NuGet Gallery 网站,查询该套件曾经发布过那些版本,其网址格式如下: 

http://nuget.org/packages/套件識別碼/

例如:

 

※ 补充说明 ※

如果你专案中的jQuery 套件是jQuery 1.8.3,而试图安装了一个套件会相依于jQuery 更新版本的情况( 例如Bootstrap 套件会要求安装jQuery 1.9.1 以上版本),那么在安装套件的过程中, NuGet 会自动将你现有的jQuery 1.8.3 升级到最新版,也就会造成本篇文章所提及的状况。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。