2013-02-28 92 views
2

形势如何手动更新通过NuGet包安装的jQuery UI?

我上使用默认的Visual Studio 2012项目模板产生的ASP.NET Web窗体项目。我从那以后使用NuGet安装jQuery UI版本1.10.0。

我需要更新到jQuery UI 1.10.1,因为我需要一个错误修复。根据该网站,1.10.1是目前的稳定版本。但是,有而不是 NuGet包可用于此版本!

我不知道为什么NuGet包会落后于他们网站上jQuery UI团队发布的最新稳定版本。 (是的,我意识到可能有不同的团队管理nuget包本身......但似乎仍需要保持最新....或通过NuGet安装jQuery的价值是非常有限。 )

问题

如何手动更新jQuery用户界面(安装成一个NuGet包)至1.10.1在我的项目?

我已经下载了最新的1.10.1 javascript文件。现在....当我看到我的ASP.NET Web窗体项目中,我在脚本中的以下文件夹中看到:

Existing jQuery files

所以,我该怎么办......在这里删除以下两个文件?

  • 的jQuery-UI-1.10.0.js
  • 的jQuery-UI-1.10.0.min.js

...并更换这些新文件吗?

  • 的jQuery-UI-1.10.1.js
  • 的jQuery-UI-1.10.1.min.js

这似乎并不像它会工作。

jQuery是作为的方式包括在我的母版(由的Visual Studio 2012生成的默认模板)是这样的:

MasterPage jQuery include

那JS捆绑你看到上面的,被称为“jquery.ui .combined“是由某种隐藏代码自动生成的。继续看看你的项目......你不会发现任何明显的定义这个包的地方。所以,如果我添加最新的JS文件......似乎我没有办法定义它们被使用或捆绑在一起。它们不是NuGet包逻辑/代码所期望的版本!

任何想法?

另一个潜在的问题

当我下载jQuery UI的1.10.1,它也来与jQuery核心1.9.1。正如您在上面的Scripts文件夹中看到的那样,它看起来好像jQuery UI 1.10.0与jQuery Core 1.9.0一起使用。如果我更新jQuery UI .....我还需要更新到匹配的jQuery Core吗? (这些都是独立的NuGet包)

请回答这个专门

我想的答案来解释如何手动更新UI安装从NuGet包了jQuery的版本....上ASP.NET Web Forms项目。

我认为这会很有用,以便将来开发人员可以在jQuery UI网站上的稳定版本中包含最新的错误修复程序,而无需等待包裹以显示在NuGet Feed上。

回答

3

jQuery UI团队尚未上传包装版本1.10.1。恐怕你只能等到他们释放它。

如果您不能等待,您可以先卸载当前版本的jQuery UI,然后手动将版本1.10.1的脚本文件添加到您的项目中。

+0

感谢您的回复。我不认为我可以卸载jQuery nuget包....因为有了ASP.NET Web Forms项目,它默认配置了四个jQuery nuget包。 AspNet.ScriptManager.jQuery.UI.Combined,AspNet.ScriptManager.jQuery,jQuery和jQuery UI(组合库).....然后,默认母版页按照看起来很重要的顺序引用它们。我想卸载jQuery nuget软件包(全部四个)会导致各种各样的问题。 – ClearCloud8 2013-02-28 22:28:36

+0

您是否可以扩充您的答案,以包含有关如何在不中断默认ASP.NET Web窗体项目的情况下“卸载当前版本的jQuery UI”的详细信息? (例如,我列出的那四个nuget软件包中的哪一个应该被删除?需要对默认母版页进行哪些修改?) – ClearCloud8 2013-02-28 22:40:36

+0

如果您只想升级jQuery.UI,那么您只需要卸载jQuery UI软件包,并且其他3个完好无损。 – superkinhluan 2013-03-04 00:58:36

1

变通......虽然这似乎是一个不错的办法....

我刚打开这些文件....

  • 的jQuery-UI-1.10.0 .js文件
  • 的jQuery-UI-1.10.0.min.js

...,取而代之的是从这些文件的内容内容:

  • 的jQuery-UI-1.10.1.js
  • 的jQuery-UI-1.10.1.min.js

我留下的文件名,因为它们是相同的。所以即使JavaScript文件被命名为版本“1.10.0”....他们实际上持有版本“1.10.1”的代码。

一个我认为这可能是一个可怕的想法

如果一些其他开发人员试图从源头控制拉下我的代码会发生什么情况的原因......他们使用NuGet包管理器来恢复包他们还没有。难道它不会拉动jQuery UI nuget包并将我修改过的JavaScript文件替换为nuget包中的那些文件?然后页面会再次展示错误行为,并且没有人会知道为什么。

至少......现在我可以继续开发,修复bug!这非常烦人......叠加层出现在对话框的顶部,我无法与页面交互。下面是固定的bug:http://bugs.jqueryui.com/ticket/8984

1

转至:Visual Studio中 - >工具=>库包=>和包管理器设置 打开的窗户设有选择在截图Nuget Manual Package Add

单击添加(+)按钮在右上方和内部源浏览器到您的文件夹无论您的Nuget包的位置。名称是珠光宝气,然后按OK

你可以看到现在你的包放到扩展和更新窗口

安装在当前项目

使用软件包管理器控制台:安装封装,你的包名