2012-08-28 86 views
3

我想使用NuGet將SignalR和Raven添加到新的ASP.Net MVC 4項目中。NuGet問題安裝SignalR和Raven

如果我先做SignalR,然後嘗試添加烏鴉我得到以下錯誤:

Install failed. Rolling back... Install-Package : Already referencing a newer version of 'Newtonsoft.Json'.

如果我先安裝烏鴉,那麼SignalR我得到:

Install failed. Rolling back... Install-Package : Updating 'Newtonsoft.Json 4.5.7' to 'Newtonsoft.Json 4.5.8' failed. Unable to find a version of 'RavenDB.Client' that is compatible with 'Newtonsoft.Json 4.5.8'.

我想的NuGet是意在處理這種事情?

我怎樣才能讓他們都添加?

回答

3

看來RavenDB.Client在Newtonsoft.Json = 4.5.7上有一個精確版本的約束,而SignalR有一個更寬鬆的約束「4.5.4或更高」(實際上是一個由它自己依賴關係,SignalR.Server)。

我設法讓你的上述情況下帶部分手動的調整工作:

  1. 創建新MVC4項目
  2. 開闢packages.config,並增加了「allowedVersions = 」[4.5.7]「 '屬性到Newtonsoft.Json軟件包條目
  3. 打開軟件包管理器控制檯(View ... Other windows ...程序包管理器控制檯)並運行update-packages以獲取所有默認依賴項的最新代碼(需要同時)
  4. 在包管理器控制檯
  5. 再次,跑安裝包RavenDB.Client
  6. 終於在包管理器控制檯,跑安裝包SignalR

我想訂購上述的一些組合,但它不喜歡它 - 讓它工作的東西似乎是手動編輯packages.config,以將Newtonsoft.Json的版本鎖定到4.5.7,以便後續安裝不會垃圾引用版本。

0

我碰到了同樣的問題,而是決定安裝SignalR的舊版本。 4.0版(2012年2月)對NewtonSoft> = 4.0.7的相關性,這與RavenDB正確安裝已經安裝:

Install-Package SignalR -Version 0.4.0 
0

我烏鴉和標準的MVC模板得到了同樣的問題。我想要最新版本的Newtonsoft.Json,所以我解決了它的不同之處。 我檢查了RavenDB客戶端有什麼依賴關係,然後首先安裝了它們的最新版本Newtonsoft.Json和NLog 然後我使用-IgnoreDependencies標誌將數據包安裝在數據包管理器控制檯中。

Install-Package -Id RavenDB.Client -IgnoreDependencies 

工作正常。 (我正在計算RavenDB與目前最新的Newtonsoft.Json不兼容的計算風險,但我是一個冒失鬼)

+0

我從Oren Eini(Ayende Rahien)得到了答案。他說:你需要做: 安裝包Raven.Client -Pre 這將解決這個問題,因爲你將使用2.0 –