我似乎无法使用MVC4安装SignalR

时间:2013-10-26 01:02:49

标签: asp.net-mvc-4 nuget signalr

我是SignalR的新手,我一直在关注Microsoft Academy MVC 4教程。在安装SignalR时,我遇到了障碍。

步骤:创建一个全新的MVC4 Web应用程序(Internet应用程序),Build,转到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,Version = v4为目标的项目中.0',但包中不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请与程序包作者联系。“

我已经尝试过所有内置模板。该演示似乎是使用VS2012(我是),所以我不明白这是什么问题。我注意到,当我暂停演示时,他们正在安装v1.1.3,而我的是v2.0.0

我是MVC的新手,是nuget和SignalR的新手。如果有人有任何提示或替代方案,我会很感激。

3 个答案:

答案 0 :(得分:36)

似乎在几天前(10月17日)发布了新版本的SignalR(版本2.0.0),它使用了需要.NET4.5的新版Microsoft.OWIN.Security。为了解决这个问题,我只使用以下Package Manager控制台命令安装了以前的版本(1.1.3):

install-package Microsoft.AspNet.SignalR -Version 1.1.3

答案 1 :(得分:3)

我对Nuget包的理解有点松懈,但我设法克服了这个(Owin)问题

  1. 使用Nuget Package explorer从在线订阅源打开Microsoft.Owin.Security 2.0.1软件包

  2. 将DLL和XML文件移出.Net 4.5文件夹并直接移入lib

  3. 在本地保存包

  4. 添加软件包的本地版本

  5. 我目前正在使用VS2010,但昨天在VS2012中一切正常。我想使用nuget而不是仅仅将DLL放入bin文件夹,因为当我需要清理并正确执行操作时,它会使事情变得更容易。

    以上是一种黑客行为,我完全希望这些东西的真正专家建议我被放在一个麻袋里,用棍子殴打甚至暗示它。但是,我需要立即开始演示。

答案 2 :(得分:0)

我刚刚通过将我的项目 .net FrameWork 从 4.5 升级到 4.7.2 解决了这个问题,但它已经消失了