1

安装 Breeze Server for Web API 2.0 时出现以下错误。

将“Microsoft.AspNet.WebApi.Core 5.2.0”更新为“Microsoft.AspNet.WebApi.Core 5.1.0”失败。找不到与“Microsoft.AspNet.WebApi.Core 5.1.0”兼容的“Microsoft.AspNet.WebApi.WebHost”版本。

任何帮助表示赞赏。

4

2 回答 2

2

在安装 Microsoft.AspNet.WebApi.WebHost 之前,您必须安装 Breeze.Server.WebApi2。

* 编辑 *

此 NuGet 版本控制问题已在 Breeze v1.4.17 中得到修复(即针对当前的 Microsoft.AspNet... NuGet 包)

* 编辑 *

问题不在于 Breeze.Server.WebApi2,而在于 Microsoft.AspNet.WebApi.OData 包。Breeze.Server.WebApi2 NuGet 包需要版本 ≥ 5.1 && < 6.0 的 Microsoft.AspNet.WebApi.OData。如果您安装 Breeze.Server.WebApi2 并且尚未安装 Microsoft.AspNet.WebApi.OData,它将安装基本版本 (5.1) 而不是最新版本。问题是 Microsoft.AspNet.WebApi.OData 5.1 依赖于 Microsoft.AspNet.WebApi.Core 版本 ≥ 5.1.0 && < 5.2.0。这与 Microsoft.AspNet.WebApi.WebHost 5.2(您已在解决方案中安装)冲突,因为它取决于 Microsoft.AspNet.WebApi.Core 版本 >=5.2 和 <5.3。因此,当 Microsoft.AspNet.WebApi.OData 尝试安装时,它会尝试将 Microsoft.AspNet.WebApi.Core 版本滚动到 5.1,这将失败,因为 Microsoft.AspNet。

这一切之所以发生,是因为 Breezejs 1.4.16 已经使用 Microsoft.AspNet.WebApi 5.1 进行了测试,因为当时 5.2 版尚未发布。我们将在即将发布的版本中更新我们的 NuGet 包的版本依赖项,但这个问题在未来仍然会再次发生,因为我们无法控制 Microsoft 在其即将发布的版本中将如何设置他们的包依赖项。

不过,之前的解决方法过于繁琐,因为您可以在安装 Breeze.Server.WebApi2 之前简单地安装最新的 Microsoft.AspNet.WebApi.OData 包 (5.2)。Microsoft.AspNet.WebApi.OData 5.2 将满足 Breeze.Server.WebApi2 依赖项,您不会遇到安装错误或处理卸载/安装一堆包的麻烦。

于 2014-08-04T20:33:53.350 回答
2

我对 Visual Studio 2013 Update 3 有类似的问题。

首先通过 NuGet 安装 Microsoft.AspNet.WebApi.OData 和 Breeze.Server.WebApi2

那个问题没有出现。现在让我们把它作为一个快速修复。

于 2014-08-08T19:31:11.317 回答