我正在尝试将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
我尝试使用自己的包添加缺少的依赖项,现在我的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.不整洁,但我已经启动并运行了。
答案 0 :(得分:4)
这一回应有两点:
首先,根据NuGet程序包管理器GitHub问题跟踪器,您收到的消息是一个已知问题,因为有问题的程序包的标识应该包含在错误中消息,而不是通用的“无法满足包依赖性约束”。
https://github.com/NuGet/Home/issues/241
如问题跟踪器中所示,此问题已得到解决,但包含该修补程序的NuGet客户端版本尚未发布。
我观察到Visual Studio 2015 RC的其他软件包的行为相同,最新的NuGet Package Manager客户端(截至编写时)为3.0.60410.213。
在其他软件包上调试此错误时,它导致了我的潜在解决方案:
其次默认情况下,Visual Studio 2015 RC中的NuGet包管理器设置为安装将依赖关系解析行为设置为“最低”的包。在我遇到“无法满足包依赖性约束”错误的一两种情况下,添加将依赖性解析行为设置为“最高”的包已解决此问题,可能是由于父NuSpec清单中指定的错误依赖性, 或在依赖关系图表中指定的不兼容性。
后者的一个示例在Visual Studio 2015 RC项目模板中安装了更高版本的软件包,而不是依赖关系链中的第三方软件包支持。上面提到的NuGet错误修复应该更容易识别这些情况。
答案 1 :(得分:0)
我有同样的问题,我有Nuget版本3.0.60410.213。我试图安装EasyNetQ,但我也一直收到这个错误。我尝试使用&#34;最高&#34;在Dependency Resolver中,但没有雪茄。
我的解决方案是单独安装依赖项。我安装了RabbitMQ.Client包,然后安装EasyNetQ。