无法解析依赖项。 'xxx'与'yyy constraint:zzz'不兼容'

时间:2017-11-23 04:29:22

标签: nuget visual-studio-2017

我们有一个项目正在使用一组基于Nuget的Azure库。其中一个发布时具有对Newtonsoft.Json的特定MIN和MAX依赖(最大版本为7)

这很令人头疼,因为其他库依赖于8+版本的Netwon,这个特定的Azure库可以很好地处理任何现代Json包。

在VS2013中,我们强制通过nuget安装程序使用较新版本的Json软件包安装此Azure库,随后,Nuget从未在安装/更新其他库时出现任何问题。

但是,在升级到VS2017后,我们无法更新任何软件包(或至少是依赖于Json的软件包),我们会收到以下错误。

无法解析依赖项。 'Newtonsoft.Json 8.0.3'与'Microsoft.Azure.Insights 0.15.0-预览约束:Newtonsoft.Json(> = 6.0.8&&< 7.0.0)'不兼容

我们如何让Nuget忽略特定Azure库对MAX版本的不重要依赖?

1 个答案:

答案 0 :(得分:4)

  

我们如何让Nuget忽略特定Azure库对MAX版本的不重要依赖?

如果您确认Azure库可以正常使用任何现代Json包,并且您希望同时使用Microsoft.Azure.Insights 0.15.0-preview和8+版本的Newtonsoft.Json。我想为您提供一种解决方法,希望这可以帮助您。

详细步骤:

  1. 首先安装包Microsoft.Azure.Insights 0.15.0-preview及其依赖项。

  2. 只卸载程序包Microsoft.Azure.Insights 0.15.0-preview,保持依赖项安装。

  3. Newtonsoft.Json更新为版本8 +。

  4. 使用以下NuGet命令在程序包管理器控制台中安装程序包Microsoft.Azure.Insights 0.15.0-preview

  5. Install-package Microsoft.Azure.Insights -IncludePrerelease -IgnoreDependencies

    使用选项-IgnoreDependencies,NuGet将忽略特定Azure库对MAX版本的不重要依赖:

    enter image description here

    注意:需要提及的是,如果您下次更新Newtonsoft.Json包,则仍需要按照上述步骤升级Newtonsoft.Json包。