我們在 Visual Studio 2012 裡面會使用 NuGet 管理員管理那些常用的開發函式庫,例如jQueryJson.NET、 EntityFrameworkELMAH、… 等等。各位可能也了解到,目前 jQuery 最新版為 2.0.2 版,這個最新版基本上僅支援 IE9 以上瀏覽器 ( IE8 以下不支援 ),因此大部分人應該都不會選擇安裝最新版的 jQuery,但是在使用 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 升級到最新版,也就會造成本篇文章所提及的狀況。

使用 NuGet 更新套件時將 jQuery 升級到 2.0.2 應該如何降級的更多相关文章

  1. 【升鲜宝】生鲜配送管理系统_升鲜宝 V2.0 按客户商品分类分开打印配送与按客户商品分类导出相关订单商品相关说明(一)

    [升鲜宝]生鲜配送管理系统_升鲜宝 V2.0 按[客户]的商品分类分开打印(配送单)与按[客户]商品分类[对账单]导出相关销售订单商品功能相关说明(一) 业务场景概述与痛点 1.中小学校食堂的客户,每 ...

  2. 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能说明_15382353715

    小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明 1.1    界面说明 1.2     查询条件 1.2.1     ...

  3. NuGet更新引用Dll

    第一种 通过 "Add Library Package Reference..." 添加 点击 ‘Add Library Package Reference...’ , 搜索你要添 ...

  4. 限制 nuget 更新包的版本号

    今天在搜索其它问题的时候,突然发现一个使用 nuget 的小技巧. 因为浏览器兼容性的问题,很多网站项目引用的 jQuery 组件版本需要保持在 2.0 以下,因为 2.0 以上需要现代浏览器的支持, ...

  5. MVC之Ajax.BeginForm使用详解之更新列表 mvc验证jquery.unobtrusive-ajax

    MVC之Ajax.BeginForm使用详解之更新列表   1.首先,请在配置文件设置如下:(该项默认都存在且为true) <add key="UnobtrusiveJavaScrip ...

  6. EFCodeFirst使用Nuget更新数据库

    在MVC开发中,习惯于使用EF作为数据库操作,相对于传统的Ado.Net的数据库操作方式,EF大大的节省了我们手写SQL语句的时间,即便是传统的使用代码生成的方式.EF操作数据库目前分为两种大的方式. ...

  7. VS2013新建MVC5项目,使用nuget更新项目引用后发生Newtonsoft.Json引用冲突的解决办法

    错误信息如下: 错误    3    类型“Newtonsoft.Json.JsonPropertyAttribute”同时存在于“c:\Program Files (x86)\Microsoft V ...

  8. fancybox 无效 失效 直接打开页面, ajax 之后 fancybox对更新的数据无效,Jquery失效 无效

    案例:做个聊天室项目,数据都是通过ajax刷新出来的,而对新数据绑定的fancybox均无效,点击直接打开到了新页面而不是弹窗,解决方法其实很简单   简单分析:ajax加载内容是在$(documen ...

  9. EF CodeFirst使用Nuget更新数据库

    常用命令: 1.开启迁移 Enable-Migrations -EnableAutomaticMigrations 2.添加一条迁移记录 Add-Migration AddMigration001 3 ...

随机推荐

  1. MIT6.006Lec03:插入排序,归并排序,递归树

    MIT6.006是算法导论课,Lec03主要讲插入排序,归并排序,以及分析方法(递归树)等. 插入排序,可以分为线性插入排序.二分插入排序,区别在于当把数组中某元素插入到前面的有序列表中时,前者遍历, ...

  2. Linux下Github的使用方法

    1 Linux下Git和GitHub环境的搭建 安装Git, 使用命令sudo apt-get install git 创建GitHub帐号 生成ssh key,使用命令 ssh-keygen -t ...

  3. win10字体大小设置

    有时图形化界面不能正常显示,需要改变字体大小来查看 更改字体大小: 更改字体:

  4. Qt Creator在Windows上的调试器安装与配置

    如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试器是CDB(对应MinGW的Qt使用GDB调试器).本文介 ...

  5. 一个将PDF转word、图片、PPT的在线工具

    smallpdf 真的超级棒! https://smallpdf.com/cn

  6. oneDay

    难受过 迷茫过 失望过 耍脾气过 开心过 伤心过 疼过 走了这么久的路: 我只想说 程序的道路上 很难走: 本来准备都放弃了: 自己逼自己了很久想明白了: 不能什么时候都想着靠外力 自己的不足就是自己 ...

  7. jQuery事件和动画

    1.toggle事件 <!DOCTYPE html>   <html>   <head lang="en">   <meta charse ...

  8. [leetcode trie]211. Add and Search Word - Data structure design

    Design a data structure that supports the following two operations: void addWord(word) bool search(w ...

  9. Python处理海量数据的实战研究

    最近看了July的一些关于Java处理海量数据的问题研究,深有感触,链接:http://blog.csdn.net/v_july_v/article/details/6685962 感谢July ^_ ...

  10. 设计模式 结构型模式 外观模式(Facade Pattern)

    在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化. 这时为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ”门面“ ...