Ravendb NuGet问题安装信号器和Raven
我试图使用NuGet将SignalR和Raven添加到一个新的ASP.NETMVC4项目中 如果我先使用信号器,然后尝试添加Raven,则会出现以下错误: 安装失败。正在回滚。。。安装包:已在引用 “Newtonsoft.Json”的更新版本 如果我先安装Raven,那么Signal我会得到: 安装失败。正在回滚。。。安装程序包:正在更新 “Newtonsoft.Json 4.5.7”到“Newtonsoft.Json 4.5.8”失败。不能 查找与兼容的“RavenDB.Client”版本 “Newtonsoft.Json 4.5.8” 我以为NuGet是来处理这类事情的Ravendb NuGet问题安装信号器和Raven,ravendb,nuget,signalr,json.net,Ravendb,Nuget,Signalr,Json.net,我试图使用NuGet将SignalR和Raven添加到一个新的ASP.NETMVC4项目中 如果我先使用信号器,然后尝试添加Raven,则会出现以下错误: 安装失败。正在回滚。。。安装包:已在引用 “Newtonsoft.Json”的更新版本 如果我先安装Raven,那么Signal我会得到: 安装失败。正在回滚。。。安装程序包:正在更新 “Newtonsoft.Json 4.5.7”到“Newtonsoft.Json 4.5.8”失败。不能 查找与兼容的“RavenDB.Client”版本 “
如何才能将两者都添加进去?看起来RavenDB.Client对Newtonsoft.Json=4.5.7有一个精确的版本约束,而Signal有一个更宽松的约束“4.5.4或更高”(实际上是它自己的一个依赖项Signal.Server施加的约束) 我通过一些手动调整,成功实现了上述场景:
我尝试了几种排序组合,但它不喜欢——让它工作的是手动编辑packages.config,将Newtonsoft.Json的版本锁定到4.5.7,以便后续安装不会破坏引用的版本。我们遇到了这个问题,但最终还是手动拉入了Raven程序集(因此我们可以针对特定的版本) 我们遇到的问题是,可以使用命令行工具强制Nuget安装软件包:
我遇到了同样的问题,但我决定安装一个旧版本的SignalR。版本4.0(2012年2月)依赖于NewtonSoft>=4.0.7,并且在已安装RavenDB的情况下,该版本可以正确安装:
Install-Package SignalR -Version 0.4.0
Raven和标准MVC模板也有同样的问题。我想要最新版本的Newtonsoft.Json,所以我以不同的方式解决了它。 我检查了RavenDB客户端的依赖关系,然后安装了它们的最新版本,第一个是Newtonsoft.Json和NLog 然后,我在数据包管理器控制台中安装了带有-IgnoreDependencies标志的数据包
Install-Package -Id RavenDB.Client -IgnoreDependencies
效果很好。(我冒着一定的风险,认为RavenDB目前与最新的Newtonsoft.Json不兼容。但我是个胆大包天的人)我得到了Oren Eini(Ayende Rahien)的答复。他说:你需要做的是:安装Raven.Client-Pre包,这将解决这个问题,因为你将使用2.0