&引用;无法满足程序包依赖项约束“;使用Breeze.Server.WebAPI2

&引用;无法满足程序包依赖项约束“;使用Breeze.Server.WebAPI2,breeze,nuget-package,visual-studio-2015,Breeze,Nuget Package,Visual Studio 2015,我正在尝试将Breeze.Server.WebAPI2Nuget包添加到Visual Studio Community 2015 RC。当我点击安装时,我得到“无法满足包依赖约束” 列出的依赖项包括: Microsoft.AspNet.WebApi.OData (>= 5.2.2 && < 6.0.0) Microsoft.AspNet.WebApi.WebHost (>= 5.2.2 && < 6.0.0) Breeze.Server.C

我正在尝试将
Breeze.Server.WebAPI2
Nuget包添加到Visual Studio Community 2015 RC。当我点击安装时,我得到“无法满足包依赖约束”

列出的依赖项包括:

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
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)
网络激活器
我尝试使用自己的包添加缺少的依赖项,现在我的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 Package Manager GitHub问题跟踪器,您收到的消息是一个已知问题,因为问题包的标识应该包含在错误消息中,而不是一般的“无法满足包依赖性约束”

正如问题跟踪程序中所指出的,这一问题已经解决,但包含修复程序的NuGet客户端版本尚未发布

我在Visual Studio 2015 RC中观察到了其他包的相同行为,其中最新的NuGet Package Manager客户端(截至编写之时)为3.0.60410.213

在其他软件包上调试此错误时,我找到了一个可能的解决方案:

其次默认情况下,Visual Studio 2015 RC中的NuGet软件包管理器设置为安装依赖项解析行为设置为“最低”的软件包。在我遇到“无法满足包依赖性约束”错误的一两种情况下,添加依赖性解析行为设置为“最高”的包解决了此问题,可能是由于父NuSpec清单中指定的不正确依赖性,或依赖关系图清单中指定的不兼容


后者的一个示例是,Visual Studio 2015 RC项目模板中安装的软件包版本高于依赖关系链中第三方软件包所支持的版本。上面提到的NuGet bug修复程序应该会使识别这些情况变得更容易。

我也有同样的问题,我有NuGet版本3.0.60410.213。我试图安装EasyNetQ,但我也一直遇到这个错误。我尝试在依赖解析程序中使用“highest”,但没有使用


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

今天上午尝试进行测试。新建Web应用程序项目->包管理器->安装Breeze.Server.WebApi2(依赖行为:最低)。我原以为它会失败,这样我就可以测试你的解决方案——但它没有。可能是因为这是一个干净的解决方案。我测试中的Microsoft.AspNet.WebApi.OData版本是5.2.2,所以它可能不喜欢原始版本中的5.5.1。非常感谢您的信息和努力。我将接受答案并奖励奖金。科林,我将尝试复制您遇到的原始错误,并尝试确定这是否是错误的软件包,并相应地更新答案。也许您可以指定Breeze.Server.WebAPI2的版本,这样我们就可以为将来的读者缩小范围。没问题-我现在已经安装了Breeze.Server.WebAPI2 version=1.5.4