' Microsoft.Rest.ClientRuntime'已经为“Newtonsoft.Json”定义了依赖关系。

时间:2016-07-13 20:02:37

标签: visual-studio-2012 nuget

尝试通过Nuget将软件包安装到VS2012中并遇到以下错误。

PM> install-package microsoft.rest.clientruntime
Attempting to resolve dependency 'Newtonsoft.Json (≥ 6.0.8)'.
Install-Package : 'Microsoft.Rest.ClientRuntime' already has a dependency defined for 'Newtonsoft.Json'.
At line:1 char:16
+ install-package <<<<  microsoft.rest.clientruntime
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

许多地方都引用了此问题,包括here,但无一例外,建议更新到Nuget的最新版本。

我正在运行最新版本,但无法解决此问题。 Nuget版本:2.8.60318.667

我还尝试创建一个全新的解决方案,并安装相同的包,但结果相同,所以它肯定与Nuget有关,而不是项目。

3 个答案:

答案 0 :(得分:3)

问题是您使用的NuGet版本太旧了。您至少需要NuGet版本2.12。

Visual Studio 2012不支持最新Microsoft.Rest.ClientRuntime所需的NuGet 2.12,因为它具有针对.NETStandard的依赖关系组,这些关联组对于旧版本的NuGet是未知的,并导致already has a dependency defined for错误。

因此您需要升级Visual Studio版本,或尝试使用旧版本的Microsoft.Rest.ClientRuntime NuGet包,或者不使用NuGet并直接从nuget.org下载Microsoft.Rest.ClientRuntime NuGet包。提取所需的程序集。

答案 1 :(得分:0)

最近在Visual Studio Team Services中创建私有nuget Feed时遇到了此问题。

事实证明,在删除Nuget包后,它没有正确更新packages.config,并且有一个孤立的引用,它不是.csproj文件的一部分。

删除引用就行了!

答案 2 :(得分:0)

我在VSTS中使用NGet Package步骤遇到此问题,并在此链接上创建PowerShell步骤修复了它:

https://github.com/Microsoft/vsts-tasks/issues/3756#issuecomment-288185011