2013-10-26 148 views
17

我是SignalR的全新產品,我一直在關注Microsoft Academy MVC 4教程。當談到安裝SignalR時,我遇到了一個障礙。我似乎無法安裝SignalR與MVC4

步驟:創建一個全新的MVC4 Web應用程序(Internet應用程序),構建,轉到NuGet包管理器並找到「Microsoft ASP.NET SignalR」,按安裝。我收到以下錯誤消息:「無法卸載'Newtonsoft.Json 5.0.8',因爲'Microsoft.AspNet.WebApi.Client 4.0.20710.0'依賴於它。」

如果我嘗試第二次,我得到了如下錯誤:「無法安裝程序包‘Microsoft.Owin.Security 2.0.1’您正在嘗試這個軟件包安裝到一個項目,目標的.NETFramework,版本= v4.0',但該軟件包不包含與該框架兼容的任何程序集引用或內容文件。有關更多信息,請聯繫軟件包作者。

我已經嘗試了所有內置模板。演示似乎使用VS2012(我是),所以我不明白是什麼問題。我注意到,當我暫停演示時,他們正在安裝v1.1.3,而我的v2.0.0

我是MVC的全新,nuget和SignalR的全新產品。如果任何人有任何提示或替代我會很感激。

+0

如果你打算使用SignalR在生產服務器上,你應該重新考慮使用.NET 4.5:要解決這個問題,我簡單地使用下面的程序包管理器控制檯命令安裝以前的版本(1.1.3)並從SignalX的2.x中受益(請參閱發行說明,您將得到原因),甚至mono也支持.NET 4.5 :) –

+0

好點。我只是在學習SignalR,所以我想讓它和教程一起工作。我也嘗試更新我的項目使用4.5,並打破了與其他教程依賴關係的兼容性。 – BrianLegg

+0

如果我是你,我會開始使用.NET 4.5的另一個空白解決方案,並嘗試完成該教程,但從不放棄SignalR 2.x! –

回答

36

似乎在幾天前(10月17日),SignalR的新版本發佈了(版本2.0.0),它使用需要.NET4.5的新版本的Microsoft.OWIN.Security。

install-package Microsoft.AspNet.SignalR -Version 1.1.3 
+0

我應該被打。我意識到這是一個4.0和4.5版本的問題,我也看到他們在演示中使用SignalR v 1.1.3。我甚至嘗試了你輸入「install-package SignalR -Version 1.1.3」的建議,我沒有完全限定這個ID。非常感謝Gareth,並欣賞OWIN版本的背後故事。我認爲我將其標記爲答案,但我也是Stack Overflow的新手。 – BrianLegg

+0

訪問[SignalR nuget軟件包鏈接](http://www.nuget.org/packages/Microsoft.AspNet.SignalR/)獲取版本號列表。 – Gan

3

我的NuGet包的理解是有點舉步維艱,但我設法克服這種(Owin)問題由

  1. 使用NuGet包Explorer從一個打開Microsoft.Owin.Security 2.0.1包在線提要

  2. 移動DLL和XML文件了.NET 4.5的文件夾,並直接進入LIB

  3. 保存包本地

  4. 添加我目前使用VS2010包

的本地版本,但昨天罰款VS2012一切工作。我想使用nuget,而不是將DLL放入bin文件夾,因爲當我需要清理並正確執行操作時,它會使事情變得更加容易。

以上是一些黑客行爲,我完全期待真正的專家在這個東西建議我放在麻袋裏,用棍棒毆打甚至建議它。不過,我現在需要爲演示工作。

+0

我很欣賞你所做的工作,但Gareth's是使用包管理器的1行命令,所以我和他一起去了。 – BrianLegg

+1

不客氣,但工作很少。你是對的;加雷思的答案好多了。安裝早期版本確實發生在我身上,但我不知道該怎麼做 - 謝謝,Gareth;我也贊同你的回答。 – Justin