17

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

步骤:创建一个全新的 MVC4 Web 应用程序(Internet Application),构建,进入 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 是全新的。如果有人有任何提示或替代方案,我将不胜感激。

4

3 回答 3

36

It seems that a couple of days ago (17th October), a new version of SignalR was released (version 2.0.0), which uses a new version of Microsoft.OWIN.Security that requires .NET4.5. To get around this, I simply installed the previous version (1.1.3) using the following Package Manager Console command:

install-package Microsoft.AspNet.SignalR -Version 1.1.3
于 2013-10-28T15:56:02.337 回答
3

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

  1. 使用 Nuget 包资源管理器从在线源打开 Microsoft.Owin.Security 2.0.1 包

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

  3. 在本地保存包

  4. 添加包的本地版本

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

以上内容有点骇人听闻,我完全希望这些东西的真正专家会推荐我被放在麻袋里,甚至用棍子殴打,甚至提出建议。但是,我需要让它立即工作以进行演示。

于 2013-10-28T09:20:31.510 回答
0

I'd just solved this problem by just upgrading my project .net FrameWork from 4.5 to 4.7.2 and it's gone

于 2021-04-04T06:23:29.867 回答