2013-02-28 112 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

你可以看到現在你的包放到擴展和更新窗口

安裝在當前項目

使用軟件包管理器控制檯:安裝封裝,你的包名