"Unable to satisfy package dependency constraints" 与 Breeze.Server.WebAPI2

"Unable to satisfy package dependency constraints" with Breeze.Server.WebAPI2

我正在尝试将 Breeze.Server.WebAPI2 Nuget 包添加到 Visual Studio Community 2015 RC。当我点击安装时,我得到 "Unable to satisfy package dependency constraints"

列出的依赖项是:

Microsoft.AspNet.WebApi.OData (>= 5.2.2 && < 6.0.0)
Microsoft.AspNet.WebApi.WebHost (>= 5.2.2 && < 6.0.0)
Breeze.Server.ContextProvider (=1.5.4)
WebActivator

我尝试使用他们自己的包添加缺少的依赖项,现在我的 packages.config 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Breeze.Server.ContextProvider" version="1.5.4" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.AspNet.WebApi.OData" version="5.5.1" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.Data.Edm" version="5.6.0" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.Data.OData" version="5.6.0" targetFramework="net452" userInstalled="true" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" userInstalled="true" />
  <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net452" userInstalled="true" />
  <package id="System.Spatial" version="5.6.0" targetFramework="net452" userInstalled="true" />
  <package id="WebActivatorEx" version="2.0.6" targetFramework="net452" userInstalled="true" />
</packages>

但我仍然得到同样的错误

编辑 为了解决这个问题,我下载了 Visual Studio 2013 Express 并用它来创建项目并添加包。然后我将项目添加到 Visual Studio 2015。不整洁,但我起来 运行。

此回复有两点:

首先,根据 NuGet 包管理器 GitHub 问题跟踪器,您收到的消息是一个已知问题,因为 identity有问题的包应该包含在错误消息中 ,而不是通用的 'Unable to satisfy package dependency constraints'.

https://github.com/NuGet/Home/issues/241

如问题跟踪器中所示,此问题已得到解决,但包含该修复程序的 NuGet 客户端版本尚未发布。

我观察到其他带有 Visual Studio 2015 RC 的包的行为相同,最新的 NuGet 包管理器客户端(截至撰写本文时)是 3.0.60410.213。

other 包上调试这个错误时,它让我想到了一个可能的解决方案:

其次 默认情况下,Visual Studio 2015 RC 中的 NuGet 包管理器设置为安装依赖项解析行为设置为 'lowest' 的包。在我遇到 "Unable to satisfy package dependency constraints" 错误的一两个案例中,添加一个依赖项解析行为设置为 'highest' 的包解决了这个问题,可能是由于在父 NuSpec 清单中指定的不正确的依赖项,依赖关系图中指定的不兼容性清单。

后者的一个例子是 Visual Studio 2015 RC 项目模板中安装了比依赖链中第三方包支持的更高版本的包。上面提到的 NuGet 错误修复应该可以更容易地识别这些情况。

我有同样的问题,我有 Nuget 版本 3.0.60410.213。我试图安装 EasyNetQ,但我也一直收到该错误。我尝试在 Dependency Resolver 中使用 "highest",但没有雪茄。

我的解决方案是单独安装依赖项。我安装了 RabbitMQ.Client 包,然后 EasyNetQ 会安装。