【问题标题】:'Microsoft.Rest.ClientRuntime' already has a dependency defined for 'Newtonsoft.Json'“Microsoft.Rest.ClientRuntime”已经为“Newtonsoft.Json”定义了一个依赖项
【发布时间】:2016-07-13 20:02:37
【问题描述】:

尝试通过 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 而不是项目有关。

【问题讨论】:

    标签: visual-studio-2012 nuget


    【解决方案1】:

    问题是您使用的 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 包,然后提取所需的程序集。

    【讨论】:

    • 我查找了 NuGet 版本的依赖项,但找不到。非常感谢。这很有帮助。
    • 对于那些寻找,我能够在执行“install-package microsoft.rest.clientruntime -Version 1.8.2”后成功编译
    【解决方案2】:

    我最近在 Visual Studio Team Services 中创建私有 nuget 提要时遇到了这个问题。

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

    删除引用就行了!

    【讨论】:

      【解决方案3】:

      我在 VSTS 中使用 NGet Package 步骤并在此链接上创建 PowerShell 步骤时遇到了这个问题:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-15
        • 2017-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多