NuGet:' X 'уже имеет зависимость, определенную для 'Y'
Я получаю следующую ошибку в NuGet при попытке установить пакет Microsoft.AspNet.Server.IIS
Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS.Interop (≥ 1.0.0-alpha4-10330)'.
Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS (≥ 1.0.0-alpha4-10330)'.
'Microsoft.AspNet.Loader.IIS' already has a dependency defined for 'Microsoft.AspNet.FeatureModel'.
как его решить?
обновление: Также я получаю следующее:
Attempting to resolve dependency 'Microsoft.Framework.DependencyInjection (≥ 1.0.0-alpha4-10326)'.
'Microsoft.Framework.DependencyInjection' already has a dependency defined for 'Microsoft.Framework.ConfigurationModel'.
9 ответов:
Это было решено путем установки последнего менеджера пакетов NuGet:
https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca
Не забудьте перезапустить VisualStudio.
я исправил аналогичную проблему в своем решении:
- Открытие командной строки
- переход на .папка nuget в моем решении
- под управлением
nuget update -self
это обновило копию NuGet.exe, который был в моем решении от 2.8.0 до 3.4.4, который исправил "X" уже имеет зависимость, определенную для ошибки "Y", которая останавливала его загрузку SSH.NET автоматически перед построением.
(Если решение не есть копия NuGet.exe в нем - и это может быть не так-тогда вы должны попробовать решение в ответе TN вместо этого)
Я попробовал обновить, но это не сработало для меня. Помогли:
- удалить из NuGet => Инструменты > Расширения и обновления > установлен
- установить nuget
- перезагрузить против
Я получал эту проблему на нашем сервере сборки TeamCity. Я попытался обновить NuGet на сервере сборки (через TC), но это не сработало. Я, наконец, решил проблему, изменив "режим обновления" шага сборки установщика Nuget из файла решения в пакеты.конфиг.
Я получал вопрос
'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'
на сервере сборки TeamCity. Я изменил "Режим Обновления " из шага сборки установщика Nuget от решение до пакеты.конфигурации и NuGet.exe до последней версии (у меня 3.5.0) и это сработало !!
- перейти по ссылке https://www.nuget.org/packages/ClosedXML/0.64.0
- Поиск пакетов nuget
- Смотрите все версии связанных пакетов
- установите нижнюю версию пакетов
в моем случае мне пришлось удалить файл NuGet.exe в папку проекта/.nuget и перестроить проект.
У меня тоже есть в NuGet.цели DownloadNuGetExe помечены как true:
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>
надеюсь, что это помогает.
я столкнулся с этой ошибкой на устаревшей версии Visual Studio 2010. Из-за конфигурации проекта я не смог обновить эту версию до более новой. Поэтому обновление NuGet, рекомендованное выше, не исправило для меня ситуацию.
основная причина ошибки в этой и подобных ситуациях заключается в зависимостях пакета, который вы пытаетесь установить, которые несовместимы с версией .NET, доступной в вашем проекте.
универсальное решение не является обязательным обновлением Visual Studio или .NET, но при установке более старых версий NuGet того же пакета, совместимого с вашей системой.
невозможно точно сказать, какая из более ранних версий будет работать. В моем случае эта команда установила пакет без каких-либо обновлений NuGet.
Install-Package X -Version [compatible version number]