像大多数人一样,我正在使用jQuery Nuget包来保持最新.
但是,随着jQuery 2.0的发布,我现在被提示将jQuery 1.9.1升级到2.0.此时,我的网站上有足够的访问者使用"古老"版本的浏览器,我宁愿坚持使用1.9.x和jQuery Migrate.
在检查包的更新(jQuery或其他)时,有没有告诉Nuget坚持使用特定版本(1.9.x)?
我正在使用Visual Studio 2010/2012扩展,但如果我需要在VS中使用命令行界面来解决此问题,我当然会.
注意:在我的脑海中有一件事是他们搞砸了更新.由于jQuery 1.9.x和2.0.x/2.x相当不同,它们似乎应该创建一个jQuery 2(.0.x | .x)包.
当然,那些真正想要更新到2.x的人必须知道它并切换他们想要安装的软件包.但鉴于它包含重大变化,也许这更好?
Dav*_* R. 117
在我看来,这是包装作者的一个错误.删除对多个浏览器的支持的更新应该已经被制作成单独的版本2 nuget包并相应地做广告,即具有重要的免责声明.1.9库不是遗留的,将来会有进一步的更新.我已与包裹作者保持联系,如果收到回复,我会写更多内容.
在此期间,您可以使用以下语法限制软件包的版本packages.config:
<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1]" />
Run Code Online (Sandbox Code Playgroud)
这里有关于版本限制的更多信息:
http://docs.nuget.org/docs/reference/Versioning
进行配置更改后,更新不应将jQuery包升级到2.0版本.过去一直存在问题,UI包管理器不尊重该allowedVersions属性(https://nuget.codeplex.com/workitem/1891),因此如果遇到此问题,可能必须使用命令行.
但是,这并没有解决1.9分支更新时发生的问题,因为程序包提要现在将在2.0+轨道上.我假设您必须切换到专门为支持'legacy'1.x版本而编写的新nuget包,或者每次都手动复制脚本.
无论如何,当我了解更多信息时,我会更新此信息.
编辑:
软件包作者已声明将来将支持1.x 和 2.x路径,即软件包源将包含并行版本而不是它们被拆分.据我所知,解决方案是在包配置级别使用版本约束来阻止更新2.x版本,例如:
<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1,2)" />
Run Code Online (Sandbox Code Playgroud)
(指定最小和最大版本allowedVersions应该允许更新而不会有转换到2.x版本的风险.顺便说一句,右括号看起来很奇怪,但是正确 - 它意味着'小于版本2'.)
TeY*_*YoU 19
如何指定版本?
PM> Install-Package jQuery -Version 1.9.1
参考文献:http://nuget.org/packages/jQuery/1.9.1
| 归档时间: |
|
| 查看次数: |
12465 次 |
| 最近记录: |