NuGet: 'X' zaten 'Y' için tanımlanmış bir bağımlılığa sahip


94

Paketi yüklemeye çalışırken NuGet'te aşağıdaki hatayı alıyorum 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'.

Nasıl çözülür?

GÜNCELLEME: Ayrıca aşağıdakileri alıyorum:

Attempting to resolve dependency 'Microsoft.Framework.DependencyInjection (≥ 1.0.0-alpha4-10326)'.
'Microsoft.Framework.DependencyInjection' already has a dependency defined for 'Microsoft.Framework.ConfigurationModel'.

Nuget'i en son sürüme güncellemeyi denedin mi? Stackoverflow.com/questions/23286522/… sayfasına
jrummell

2
@jrummell Benim: 2.8.50313.46, şu anda VS 2013'te güncelleme yok.
TN.

Yanıtlar:


151

Bu, en son NuGet Paket Yöneticisi yüklenerek çözüldü:

https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

Visual Studio'yu yeniden başlatmayı unutmayın.


5
En son Nuget "NuGet Paket Yöneticisi 2.8.60318.667" sürümüne sahibim ancak "Install-Package:" System.Collections "'ın zaten" Microsoft.NETCore.Platforms "için tanımlanmış bir bağımlılığı var". "Install-Package Microsoft.AspNet.WebHooks.Custom.AzureStorage -Pre" yüklemeye çalışırken
Gopi

2
@TechJerk ile aynı sorunu yaşıyorum, benim durumumda bir projeyi nuget paketine koymaya çalışıyorum. Bunu yerel olarak yapabilirim ancak yapı sunucusunda yapamam. Derleme sunucusunda 'System.Collections' alıyorum zaten 'Microsoft.NETCore.Platforms' için tanımlanmış bir bağımlılığa sahip. NuGet'i güncellemenin hiçbir etkisi olmadı.
user3841460

Bu benim için çalışıyor. Benim durumumda SQLite-net PCL (Xamarin) kurmaya çalışıyordum. Visual Studio, 2013 Ultimate'tir.
ramires.cabral

2
@TechJerk ile aynı sorunu yaşıyorum ama 'System.Net.Http' already has a dependency defined for 'System.IO'- NuGet'i hiçbir etki olmadan yeniden yüklemeyi ve yükseltmeyi denedim (şu anda sürüm 2.8 ... ve Visual Studio 2012 kullanıyorum)
Blundering Philosopher,

2
TeamCity'de bu hatayı alıyorsanız, mevcut en yeni nuget sürümünü kullanmak için derleme adımı ayarlarını güncellemeniz gerekebilir.
Steve Greatrex

74

Çözümümdeki benzer bir sorunu şu şekilde düzelttim:

  1. Bir komut istemi açma
  2. Çözümümdeki .nuget klasörüne gitme
  3. Koşu nuget update -self

Bu, çözümümdeki kopyasını ' NuGet.exedan' 2.8.0ye yükseltti 3.4.4, bu da 'X' hatası için zaten tanımlanmış bir bağımlılığa sahip olan 'Y' hatası için SSH.NET'i oluşturmadan önce otomatik olarak indirmesini durdurdu.

(Çözümünüzün bir kopyası yoksa NuGet.exe- ve olmayabilir - o zaman çözümü TN'nin cevabında denemelisiniz)


Bu benim için düzelten şeydi, ancak bunun yerine yapı sunucusunda çalıştırdım. Başarısız derlemenin günlükleri, söz konusu NuGet.exe dosyasının yolunu gösterdi.
InteXX

20

Güncellemeyi denedim ama benim için işe yaramadı. Yardım etti:

  1. NuGet'i Kaldır => Araçlar => Uzantılar ve güncelle => Yüklendi
  2. NuGet'i yükleyin
  3. Visual Studio'yu yeniden yükleyin

1
Bu benim için yaptı.
Naner

7

Visual Studio 2010'un eski sürümünde bu hatayla karşılaştım. Proje yapılandırması nedeniyle bu sürümü daha yenisine güncelleyemedim. Bu nedenle, yukarıda tavsiye edilen NuGet güncellemesi benim için işleri düzeltmedi.

Bu ve benzeri durumlarda hatanın ana nedeni, yüklemeye çalıştığınız paketin bağımlılıklarıdır, bu, projenizde bulunan .NET sürümü ile uyumlu değildir.

Evrensel çözüm, Visual Studio veya .NET'in zorunlu güncelleştirmesi değil, aynı paketin sisteminizle uyumlu eski NuGet sürümlerinin yüklenmesidir.

Önceki sürümlerden hangisinin çalışacağını kesin olarak söylemek mümkün değildir. Benim durumumda, bu komut paketi herhangi bir NuGet güncellemesi olmadan yükledi.

Install-Package X -Version [compatible version number]

5

TeamCity derleme sunucumuzda bu sorunu alıyordum. NuGet'i derleme sunucusunda (TC aracılığıyla) güncellemeyi denedim ama bu işe yaramadı. Sonunda Nuget Yükleyici derleme adımının "Güncelleme Modu" nu çözüm dosyasından packages.config.


Bilgi için teşekkürler. Aynı sorunu yaşadım + NuGet'i 4.0.0'a / varsayılan olarak değil ve başarısız olan bu bir derleme yapılandırması için NuGet'i v4 olarak değiştirdim!
Dr.Andrew Burnett-Thompson

ama bunu nasıl yaparsınız?
ympostor

3

'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'TeamCity oluşturma sunucusunda sorunu alıyordum . Ben "değişti Güncelleme Modu dan Nuget Yükleyici inşa adımının" çözüm için dosyanın packages.config ve NuGet.exe son sürümü (I 3.5.0 vardı) ve o amele !!


bu nasıl yapılır??
ympostor

Bu TAM aynı sorunu alıyorum.
Jess


Derleme Adımları altındaki Yapılandırma Ayarlarını Oluştur'a gidin, Çalıştırıcı türü olarak NuGet Yükleyici için bir adım ekleyin. Nuget Yükleyici derleme adımının "Güncelleme Modu" nu çözüm dosyasından packages.config ve NuGet.exe 'ye en son sürüme
szc0025

2
  1. Https://www.nuget.org/packages/ClosedXML/0.64.0 bağlantısına gidin
  2. NuGet paketlerinizi arayın
  3. İlgili paketlerin tüm sürümlerine bakın
  4. Paketlerin daha düşük sürümünü yükleyin

Görsel stüdyo sürümünüzün çok düşük olması durumunda bu aslında iyi bir çözümdür. Benim durumumda, NuGet'in en yeni sürümünü desteklemeyen VS2012 ile çalışmam gerekiyor. Bu otomatik olarak, NuGet Paketlerini Yönet penceresi aracılığıyla en yeni paketleri her zaman indiremeyeceğim anlamına gelir.
Mixxiphoid

1

Benim durumumda /.nuget Proje klasöründeki NuGet.exe dosyasını silmek ve projeyi yeniden oluşturmak zorunda kaldım.

Ayrıca NuGet.targets içinde DownloadNuGetExe doğru olarak işaretlenmiş:

<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>

Umarım yardımcı olur.


0

Benim için işe yarayan tek çözüm, nuget'i tamamen Visual Studio 2013'ten kaldırmak ve ardından VS'nin zorunlu olarak yeniden başlatılmasıyla tekrar yüklemek oldu.


0
  1. Araçlara gidin.
  2. Uzantılar ve Güncellemeler.
  3. Nuget'i ve diğer önemli özellikleri güncelleyin.
  4. Tekrar başlat.

Bitti.


0

Vs 2010 kullanan bir projede, sorunu yalnızca Paket Yöneticisi Konsolu aracılığıyla ihtiyacım olan paketin daha eski bir sürümünü yükleyerek çözebildim.

Bu komut çalıştı:

PM> Install-Package EPPlus -Version 4.5.3.1

Bu komut işe yaramadı:

PM> Install-Package EPPlus -Version 4.5.3.2
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.