为什么Breeze强制执行OData 5.2.0?

时间:2013-03-15 18:08:53

标签: odata breeze

不幸的是,breeze nuget包1.2.1似乎绑定到了Microsoft.Data.OData 5.2.0。

Install failed. Rolling back... Updating 'Microsoft.Data.OData 5.3.0' to 'Microsoft.Data.OData 5.2.0' failed. Unable to find a version of 'Microsoft.Data.Services.Client' that is compatible with 'Microsoft.Data.OData 5.2.0'.

有原因吗? 我们已经依赖5.3.0所以我们不能回去了!

3 个答案:

答案 0 :(得分:2)

这是因为Breeze nuget安装了“Microsoft Asp.NET Web Api OData”nuget,后者又具有“Microsoft.Data.OData 5.2.x”(不是5.3)的硬限制。

那就是说,我会尝试与MS核实限制的原因。

答案 1 :(得分:1)

2013年4月1日更新

我被告知更新的Microsoft.Aspnet.Webapi.odata nuget软件包4.0.1应该解决这个问题。请尝试并确认。

原始答案

我有一个临时的解决方法。我的意思是临时,因为我要枚举的步骤需要精确,并且将来很容易破坏。

我在从当前部署的Breeze/Knockout SPA template生成的样本上对它们进行了测试,并成功升级到了Breeze的1.2.1版本。应该适用于后续的Breeze版本(如果没有,请告诉我们)

在程序包管理器控制台中输入以下序列:

  1. 卸载 - 打包Microsoft.Aspnet.Webapi.odata(幸运的是,这并未卸载此特定软件包的依赖项,我认为因为其他软件包具有相同的依赖项)。
  2. 安装包Microsoft.Data.OData -Version 5.3.0
  3. 安装包Microsoft.Aspnet.Webapi.odata -pre -IgnoreDependencies
  4. Update-Package breeze.webapi -IgnoreDependencies
  5. “-IgnoreDependencies”开关为您的解决方案提供了鞋拔v.5.3.0的杠杆作用。

    我想再次强调,这是一个暂时的解决方案,可能只会工作一段时间。我期待着回到您的SO问题,并报告此建议已被废除。我甚至可以删除这个答案。

答案 2 :(得分:1)

我们发布了更新的nuget包4.0.1来解决此问题。