RavenDB和SignalR Nuget包依赖项冲突

RavenDB和SignalR Nuget包依赖项冲突,nuget,ravendb,signalr,Nuget,Ravendb,Signalr,基本冲突 SignalR希望Newtonsoft.Json版本为4.0.7或更高版本,而RavenDB希望版本为4.0.5。这显然意味着它们不能并排安装 因此,除了从其中一个下载源代码并在本地计算出依赖项之外,还必须签入由此创建的二进制文件,是否有可能使用NuGet管理依赖项,或者只转发DLL调用(例如Mvc对每个新版本的调用)几天前我们遇到了同一个问题,这是一个令人讨厌的问题。我们发现您无法使用NuGet管理依赖项。相反,我们将SignalR改为使用4.0.5,并在本地进行编译。有一种更合适的

基本冲突

SignalR希望Newtonsoft.Json版本为4.0.7或更高版本,而RavenDB希望版本为4.0.5。这显然意味着它们不能并排安装


因此,除了从其中一个下载源代码并在本地计算出依赖项之外,还必须签入由此创建的二进制文件,是否有可能使用NuGet管理依赖项,或者只转发DLL调用(例如Mvc对每个新版本的调用)几天前我们遇到了同一个问题,这是一个令人讨厌的问题。我们发现您无法使用NuGet管理依赖项。相反,我们将SignalR改为使用4.0.5,并在本地进行编译。

有一种更合适的方法来解决这一冲突。 既然.NET为我们提供了使用的可能性,为什么不使用它呢;)

您可以在App.config中添加类似的内容(如果已经放置了assemblyBinding,请小心):



要请求对版本4.0.5中的JSON.NET的支持(因为它应该是向后兼容的)

Yeah SignalR肯定是我最终在本地完成的。通过在本地编译它,您是指获取SignalR源代码,更改对Newtonsoft.JSON的引用,编译,然后将编译后的代码放入您的解决方案中吗?是的,那就是我当时的意思。但是(!)在RavenDB 2.0中不再需要处理这个问题,因为对Newtonsoft.Json的依赖关系已经内部化,因此不再存在冲突!我也会碰到这个。根据nuget版本号,规范newtonsoft.json 4.0.8应与4.0.5兼容。RavenDb或Newtonsoft.Json都有问题。真的很烦人。请注意RavenDB现在支持4.0.8这太棒了。等几天,你所有的问题都解决了:)@Ayendrahien很好。如果再次出现这种情况,我们仍然对能做些什么感兴趣。我在4.0.6更新中看到了回滚,所以我想更新到4.0.8可能需要一些时间(似乎我错了:))重定向非常密集。例如,当我们对用户重新修改Json.NET的newver版本时,RavenDb开始丢失文档中带有GUID的字段。我将在稍后查看这一点,但我无法同时安装这两个包。那么你是说NuGet识别重定向并相应地加载包?或者是有某种特定的顺序我需要这样做?(如果再次出现这种情况。
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
         <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
         <bindingRedirect oldVersion="0.0.0.0-4.0.8.0" newVersion="4.0.5.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>