【问题标题】:NuGet Issue installing SignalR and Raven安装 SignalR 和 Raven 的 NuGet 问题
【发布时间】:2012-08-28 09:32:14
【问题描述】:

我正在尝试使用 NuGet 将 SignalR 和 Raven 添加到新的 ASP.Net MVC 4 项目中。

如果我先做 SignalR,然后尝试添加 Raven,我会收到以下错误:

安装失败。回滚...安装包:已经引用 更新版本的“Newtonsoft.Json”。

如果我先安装 Raven,然后我会得到 SignalR:

安装失败。回滚...安装包:更新 'Newtonsoft.Json 4.5.7' 到 'Newtonsoft.Json 4.5.8' 失败。无法 找到兼容的“RavenDB.Client”版本 'Newtonsoft.Json 4.5.8'。

我认为 NuGet 是用来处理这类事情的?

如何才能同时添加它们?

【问题讨论】:

    标签: ravendb nuget signalr json.net


    【解决方案1】:

    RavenDB.Client 似乎对 Newtonsoft.Json = 4.5.7 有一个精确版本约束,而 SignalR 有一个更宽松的“4.5.4 或更高”约束(实际上是由它自己的依赖项之一施加的约束, SignalR.Server)。

    我设法通过一些手动调整使您的上述场景正常工作:

    1. 创建了新的 MVC4 项目
    2. 打开 packages.config 并向 Newtonsoft.Json 包条目添加了一个“allowedVersions="[4.5.7]"' 属性
    3. 打开包管理器控制台(查看...其他窗口...包管理器控制台)并运行 update-packages 以获取所有默认依赖项的最新代码(需要一段时间)李>
    4. 再次在包管理器控制台中,运行 install-package RavenDB.Client
    5. 最后在包管理器控制台中,运行 install-package SignalR

    我尝试了一些上述排序的组合,但它不喜欢它 - 让它工作的东西似乎是手动编辑 packages.config 以将 Newtonsoft.Json 的版本锁定为 4.5.7 以便后续安装不会破坏引用的版本。

    【讨论】:

      【解决方案2】:

      我们遇到了这个确切的问题,但最终手动拉入了 Raven 程序集(因此我们可以针对特定版本)。

      我们遇到的事情是可以强制 Nuget 使用命令行工具安装包: How to install an older version of package via NuGet?

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,但决定安装旧版本的 SignalR。 4.0 版(2012 年 2 月)依赖于 NewtonSoft >= 4.0.7,并且在已安装 RavenDB 的情况下正确安装:

        Install-Package SignalR -Version 0.4.0 
        

        【讨论】:

          【解决方案4】:

          我在使用 Raven 和标准 MVC 模板时遇到了同样的问题。我想要最新版本的 Newtonsoft.Json,所以我以不同的方式解决了它。 我检查了 RavenDB Client 有哪些依赖项,然后首先安装了它们的最新版本 Newtonsoft.Json 和 NLog 然后,我使用 -IgnoreDependencies 标志在数据包管理器控制台中安装了数据包。

          Install-Package -Id RavenDB.Client -IgnoreDependencies 
          

          效果很好。 (我冒着风险,RavenDB 目前与最新的 Newtonsoft.Json 不兼容。但我是夜魔侠)

          【讨论】:

          • 我得到了 Oren Eini (Ayende Rahien) 的答复。他说:你需要做:Install-Package Raven.Client -Pre 这将解决问题,因为你将使用 2.0
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-13
          • 1970-01-01
          相关资源
          最近更新 更多