NuGet: 'X' में पहले से ही 'Y' के लिए परिभाषित एक निर्भरता है।


94

पैकेज स्थापित करने का प्रयास करते समय मुझे 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'.

क्या आपने Nuget को नवीनतम में अपडेट करने का प्रयास किया है? देखें stackoverflow.com/questions/23286522/…
jrummell

2
@jrummell मेरे पास है: 2.8.50313.46, वर्तमान में वीएस 2013 में कोई अपडेट नहीं।
टीएन।

जवाबों:


151

यह नवीनतम NuGet पैकेज प्रबंधक स्थापित करके हल किया गया था:

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

Visual Studio को पुनरारंभ करने के लिए मत भूलना।


5
मेरे पास नवीनतम Nuget "NuGet Package Manager 2.8.60318.667" है, लेकिन मुझे "Install-Package: 'System.Collections' पहले से ही 'Microsoft.NETCore.Platforms' के लिए निर्भरता परिभाषित करता है।" जब "इंस्टॉल-पैकेज Microsoft.AspNet.WebHooks.Custom.AzureStorage -Pre" को स्थापित करने की कोशिश कर रहा है
गोपी

2
मेरे पास @TechJerk जैसा ही मुद्दा है, मेरी स्थिति में मैं एक परियोजना को एक नौगट पैकेज में डालने की कोशिश कर रहा हूं। मैं इसे स्थानीय रूप से कर सकता हूं लेकिन बिल्ड सर्वर पर नहीं। बिल्ड सर्वर पर मुझे 'System.Collections' पहले से ही 'Microsoft.NETCore.Platforms' के लिए निर्भरता परिभाषित करता है। नुगेट को अपडेट करने का कोई प्रभाव नहीं पड़ा।
1938 पर user3841460

यह मेरे लिए काम करता है। मेरे मामले में मैं SQLite-net PCL (Xamarin) स्थापित करने का प्रयास कर रहा था। विजुअल स्टूडियो 2013 अल्टीमेट है।
ramires.cabral

2
मैं @TechJerk के रूप में एक ही मुद्दा रहा हूँ, लेकिन 'System.Net.Http' already has a dependency defined for 'System.IO'- मैंने NuGet को बिना किसी प्रभाव के पुनः इंस्टॉल और अपग्रेड करने की कोशिश की है (मैं वर्तमान में संस्करण 2.8 का उपयोग कर रहा हूं ... और विजुअल स्टूडियो 2012)
दार्शनिक

2
यदि आपको TeamCity में यह त्रुटि मिल रही है तो आपको उपलब्ध नूगेट संस्करण का उपयोग करने के लिए बिल्ड स्टेप सेटिंग्स को अपडेट करने की भी आवश्यकता हो सकती है।
स्टीव ग्रेट्रेक्स

74

मैंने अपने समाधान में इसी तरह के मुद्दे को तय किया:

  1. कमांड प्रॉम्प्ट खोलना
  2. मेरे समाधान में .nuget फ़ोल्डर में नेविगेट करना
  3. चल रहा है nuget update -self

इस की प्रति उन्नत बनाया NuGet.exeहै कि मेरे समाधान में था 2.8.0करने के लिए 3.4.4है, जो तय 'एक्स' पहले से ही एक निर्भरता 'वाई' त्रुटि है कि यह निर्माण से पहले स्वचालित रूप से SSH.NET डाउनलोड करने से रोक दिया गया था के लिए परिभाषित किया गया है।

(यदि आपके समाधान NuGet.exeमें इसकी एक प्रति नहीं है - और यह नहीं हो सकता है - तो आपको इसके बजाय TN के उत्तर में समाधान का प्रयास करना चाहिए)


यह वह है जो इसे मेरे लिए तय करता है, लेकिन मैंने इसके बजाय बिल्ड सर्वर पर इसे चलाया। असफल निर्माण के लिए लॉग ने प्रश्न में NuGet.exe के लिए पथ को इंगित किया।
InteXX

20

मैंने अपडेट की कोशिश की, लेकिन यह मेरे काम नहीं आया। मदद की:

  1. NuGet => उपकरण => एक्सटेंशन और अद्यतन => स्थापित अनइंस्टॉल करें
  2. NuGet स्थापित करें
  3. रीलोडेड विजुअल स्टूडियो

1
यह मेरे लिए किया।
नानर

6

मुझे Visual Studio 2010 के पुराने संस्करण पर इस त्रुटि का सामना करना पड़ा। प्रोजेक्ट कॉन्फ़िगरेशन के कारण मैं इस संस्करण को नए सिरे से अपडेट करने में सक्षम नहीं था। इसलिए, ऊपर सलाह दी गई NuGet के अपडेट ने मेरे लिए चीजों को ठीक नहीं किया।

इस और समान स्थितियों में त्रुटि का मूल कारण उस पैकेज की निर्भरता में है जिसे आप स्थापित करने का प्रयास करते हैं, जो आपके प्रोजेक्ट में उपलब्ध .NET संस्करण के साथ संगत नहीं हैं।

यूनिवर्सल सॉल्यूशन Visual Studio या .NET का अनिवार्य अपडेट नहीं है, लेकिन आपके सिस्टम के साथ संगत उसी पैकेज के पुराने NuGet संस्करणों की स्थापना में है।

यह सुनिश्चित करना संभव नहीं है कि पहले के कौन से संस्करण काम करेंगे। मेरे मामले में, इस कमांड ने बिना किसी न्यूगेट अपडेट के पैकेज को स्थापित किया।

Install-Package X -Version [compatible version number]

5

मुझे यह हमारी टीम बिल्ड बिल्ड सर्वर पर मिल रहा था। मैं निर्माण सर्वर (टीसी के माध्यम से) पर NuGet को अपडेट करने की कोशिश की, लेकिन यह काम नहीं किया। मैंने आखिर में Nuget Installer बिल्ड के "अपडेट मोड" को सॉल्यूशन फाइल से स्टेप फाइल में बदलकर समस्या का समाधान किया packages.config


जानकारी के लिए धन्यवाद। मेरे पास एक ही मुद्दा था + 4.0.0 / नॉट डिफॉल्ट को अपडेट करना और इस एक बिल्ड कॉन्फिगरेशन के लिए NuGet को v4 में बदलना जो कि फेल हो रहा था, काम नहीं कर रहा था!
डॉ। एंड्रयू बर्नेट-थॉम्पसन

परन्तु तुमसे यह कैसे होता है?
यमपोस्टर

3

मैं 'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'TeamCity बिल्ड सर्वर पर समस्या हो रही थी । मैंने Nuget इंस्टॉलर के " अपडेट मोड " को समाधान फ़ाइल से संकुल में परिवर्तित कर दिया। पैकेज और NuGet.exe को नवीनतम संस्करण में (मेरे पास 3.5.0 था) और यह काम कर गया !!


उसको कैसे करे??
यमपोस्टर

मैं यह एक ही मुद्दा मिल रहा है।
जेस

इन्हें भी देखें: stackoverflow.com/questions/44532170/…
जेस

बिल्ड सेटिंग्स के तहत, कॉन्फ़िगरेशन सेटिंग्स का निर्माण करने के लिए जाओ, धावक प्रकार के रूप में NuGet इंस्टालर के लिए एक कदम जोड़ें। Nuget इंस्टॉलर के "अपडेट मोड" को समाधान फ़ाइल से संकुल में परिवर्तित करें। पैकेज और NuGet.exe को नवीनतम संस्करण में
szc0025

2
  1. लिंक https://www.nuget.org/packages/ClosedXML/0.64.0 पर जाएं
  2. अपने NuGet पैकेज खोजें
  3. संबंधित पैकेजों के सभी संस्करण देखें
  4. संकुल के निचले संस्करण को स्थापित करें

यह वास्तव में एक अच्छा समाधान है यदि आपका दृश्य स्टूडियो संस्करण बहुत कम है। मेरे मामले में मुझे वीएस २०२ के साथ काम करना है, जो न्यूगेट के नवीनतम संस्करण का समर्थन नहीं करता है। इसका स्वचालित रूप से मतलब है कि मैं हमेशा नए पैकेजों को प्रबंधित करें NuGet संकुल विंडो के माध्यम से डाउनलोड नहीं कर सकता।
मिक्सक्सीफाइड

1

मेरे मामले में मुझे प्रोजेक्ट फ़ोल्डर /.nuget में फ़ाइल NuGet.exe को हटाना पड़ा और परियोजना का पुनर्निर्माण करना पड़ा।

मैं भी NuGet.targets में DownloadNuGetExe को सही के रूप में चिह्नित करता हूं:

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

आशा है कि यह मदद करेगा।


0

मेरे लिए काम करने वाला एकमात्र समाधान दृश्य स्टूडियो 2013 से पूरी तरह से नौगट की स्थापना रद्द करना था और फिर बीच में वीएस के अनिवार्य पुनरारंभ के साथ इसे फिर से स्थापित करना था।


0
  1. टूल्स पर जाएं।
  2. एक्सटेंशन और अपडेट।
  3. अद्यतन Nuget और किसी भी अन्य महत्वपूर्ण विशेषता।
  4. पुनः आरंभ करें।

किया हुआ।


0

बनाम 2010 का उपयोग करते हुए एक परियोजना में, मैं केवल पैकेज प्रबंधक कंसोल के माध्यम से आवश्यक पैकेज के पुराने संस्करण को स्थापित करके समस्या को हल करने में सक्षम था।

इस कमांड ने काम किया:

PM> Install-Package EPPlus -Version 4.5.3.1

यह आदेश काम नहीं किया:

PM> Install-Package EPPlus -Version 4.5.3.2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.