2014-01-25 61 views
8

我已經升級ASP.NET MVC4到ASP.NET MVC 5.1以下steps from this WebSite如何升級到ASP.NET MVC 5和Web API 2

我停頓在升級的NuGet包後解決的NuGet DLL地獄,有有很多錯誤和rollsback的:

例如

Install failed. Rolling back... 
Install-Package : Updating 'Microsoft.AspNet.WebApi.Core 4.0.20710.0' to 
'Microsoft.AspNet.WebApi.Core 5.1.0' failed. Unable to find a version of 
'Microsoft.AspNet.WebApi.OData' that is compatible with 'Microsoft.AspNet. 
WebApi.Core 5.1.0'. 

Update-Package : Updating 'Microsoft.Net.Http 2.0.20710.0' 
to 'Microsoft.Net.Http 2.2.18' failed. Unable to find versions of 
'Microsoft.AspNet.WebApi.Client, Microsoft.AspNet.WebApi.OData' that 
are compatible with 'Microsoft.Net.Http 2.2.18'. 

是否有一些簡單的步驟來清理和更新所有並擺脫這個DLL地獄?

+0

我一直在那裏。我說出來的唯一方法是痛苦的。恐怕你已經知道它是什麼了。 – stink

回答

8

一個快速的方法來刪除項目中的所有的Nu​​Get包是手動編輯packages.config文件,然後刪除所有的dll引用(僅適用於nuget包中的dll)。

這需要少得多的時間比則卸載全部通過NuGet包管理器,尤其是當有這麼大的依賴關係樹。

+0

要闡述湯姆的回答 - 我能得到MVC和的WebAPI升級工作的唯一辦法是找到我的packages.config文件這些行'<包ID =「AspNetWebApi」版本=「4.0.20710.0」 targetFramework =」 net45" /> <包ID = 「Microsoft.AspNet.Mvc」 版本= 「4.0.30506.0」 targetFramework = 「net45」/>',並用替換它們'<包ID = 「Microsoft.AspNet.Mvc」 版本=」 5.1.1「targetFramework =」net45「/> ' 之後,我所要做的就是添加一些綁定重定向,我很高興去。 – kiprainey

2

最後我已經解決了它,即使通過的NuGet命令「更新-包」升級失敗。

  1. 我已經通過nuget卸載所有有問題的軟件包及其對每個項目的依賴項。
  2. 我已經爲解決方案中的所有項目設置了相同的.NET Framework 4.5.1(可能不是必需的)。
  3. 我已經通過nuget逐個安裝這些軟件包。
  4. 我經由FindConflictingReferences工具https://gist.github.com/brianlow/1553265和固定可能發生的衝突比較項目中引用檢查結果。

這抽放我很長一段時間來修復它...