使用NuGet安裝外掛時的相依性問題

在使用NuGet安裝jQuery外掛時出現相依性問題,訊息如下:

PM> Install-Package jQuery
Successfully installed 'jQuery 1.6.1'.
Install failed. Rolling back...
Install-Package : Conflict occurred. 'jQuery 1.5.1' referenced but requested 'jQuery 1.6.1'. 'jQuery.vsdoc 1.5.1' depends on 'jQuery 1.5.1'.
位於 行:1 字元:16
+ Install-Package <<<<  jQuery
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

之前NuGet是不會檢查相依性的,解決辦法是,進入「Add Library Package Reference」的「Installed packages」,然後移除相關相依性的packages,然後再安裝最新版本的packages即可。

另外也可以注意一下,專案根目錄下的packages.config,它會記錄目前NuGet所管理的packages狀況。

2 則留言:

  1. 今天測試 Add Library Package Reference --> Updates --> All --> 由下往上升級即可。

    例如:jQuery 1.5.1 相依 jQuery 1.5.1-vsdoc ...
    把相依的那三個先按Update,最後再按jQuery 1.6.1 即可完成升級。

    回覆刪除
  2. 請問在VS2012中 我找不到你說的移除相依性的設定 遇到一個狀況就是我只想把jQuery降成1.8.3 其他都不動

    回覆刪除

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。