2016-07-13 2 views
2

Попытка установить пакет через Nuget в VS2012 и встретить следующую ошибку.«Microsoft.Rest.ClientRuntime» уже имеет зависимость, определенную для «Newtonsoft.Json»

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

Проблема в том, что версия NuGet, которую вы используете, слишком старая. Вам нужно, по крайней мере, NuGet версии 2.12.

Visual Studio 2012 не поддерживает NuGet 2.12, который требуется для последнего времени Microsoft.Rest.ClientRuntime, поскольку он имеет группы зависимостей, которые нацелены на .NETStandard, которые неизвестны более старыми версиями NuGet и приводят к ошибке already has a dependency defined for.

Поэтому вам необходимо обновить версию Visual Studio или попытаться использовать старую версию пакета Microsoft.Rest.ClientRuntime NuGet или не использовать NuGet и загрузить пакет Microsoft.Rest.ClientRuntime NuGet непосредственно с nuget.org и извлеките необходимые сборки.

+0

Я искал зависимости от версии NuGet, но не смог найти его. Огромное спасибо. Это было очень полезно. – McArthey

+0

Для тех, кто ищет, я смог успешно скомпилировать после выполнения «install-package microsoft.rest.clientruntime -Version 1.8.2», – McArthey

0

У меня была эта проблема в последнее время при создании частного кортежа nuget в Visual Studio Team Services.

Оказалось, что после удаления пакета Nuget он не обновил файл packages.config правильно и появилась потерянная ссылка, которая не была частью файла .csproj.

Снятие справки сделало трюк!

Смежные вопросы