让NuGet继续使用jQuery 1.x后续版本

Query在2.0里去除了对IE678的支持,并且建议需要兼容IE678的开发人员继续使用1.x的版本。大部分在VS上做开发的人,都是通过NuGet来管理jQuery包的。由于现在jQuery在NuGet里只有一个分类并且最新版本已经是2.x,这给需要用NuGet来继续管理jQuery1.x包的更新的童鞋带来很大不便。

最好的解决方法应该是在NuGet的维护者分别创建jQuery 1和jQuery 2的对应包。在这之前,似乎只能手工的用NuGet命令行工具来避免升级到2.0。比如,用下面的命令升级jQuery到版本1.10.1

Install-Package jQuery -Version 1.10.1

如果你已经不小心把jQuery 2.x给装上了,再重新装1.x的时候NuGet就会报错Already referencing a newer version of ‘jQuery’.可以通过在NuGet控制台跑下面命令解决

Uninstall-Package jQuery -Force
Install-Package jQuery -version 1.10.1

今天发现一个更赞的解决方法,只要在package.config里指定一下allowedVersions就可以避免jQuery 2.x的版本被NuGet推送了,具体方法是把package里的jQuery这行改成下面格式:

<package id="jQuery" version="1.10.1" allowedVersions="[1.9,2)"  targetFramework="net45" />

这么写表示意思是,只允许推送版本号大于1.9并且小于2的jQuery包。

Leave a Reply

Your email address will not be published. Required fields are marked *