2016-10-12 9 views
8

के साथ समाप्त हुआ मैंने netstandard1.3 और net64 को लक्षित करने के लिए कक्षा पुस्तकालय के project.json को अद्यतन किया है।निर्दिष्ट निर्भरता एक्स थी लेकिन वाई

कि परिवर्तन के साथ

:

$ dotnet restore 
log : Restoring packages 
warn : Dependency specified was NETStandard.Library (>= 1.3.0) but ended up with 
     NETStandard.Library 1.6.0. 

मैं एक पुस्तकालय का प्रकाशन कर रहा हूँ और वास्तव में netstandard1.3/net46 लक्षित करने के लिए की जरूरत है।

मैं कैसे निदान कर सकता हूं कि इसके बजाय एक उच्च संस्करण का उपयोग क्यों किया जा रहा है?

उत्तर

6

मैं एक NuGet issue पर इस के साथ पीछा किया और @emgarten ने बताया कि NETStandard.Library पैकेज केवल एक 1.6.0 संस्करण है, लेकिन यह है कि 1.6.0 संस्करण netstandard1.3 के लिए विधानसभाओं में शामिल है।

इसलिए इस मामले में मैंने जो 1.3 संस्करण अनुरोध किया है वह कहीं भी मौजूद नहीं है, और चेतावनी एक अधिसूचना है कि यह इसके बजाय एक उच्च संस्करण का उपयोग कर रही है।

डायग्नोस्टिक अभी भी अधिक जानकारीपूर्ण हो सकता है। यदि आप इसे भी यात्रा करते हैं तो आप vote on the issue कर सकते हैं और आप देखना चाहते हैं कि यह अधिक स्पष्ट हो गया है।

1

जब आप NuGet से बात नहीं कर रहे हैं, लेकिन मेरे मामले में आपकी खुद की परियोजनाओं की तरह, यह त्रुटि भी हो सकती है।

पहली चीज जो आप करना चाहते हैं, यह सुनिश्चित कर लें कि आपके पास Solution Items -> global.json में सही संस्करण है। project.json

  1. ओपन और चेतावनी
  2. सहेजें फ़ाइल दे लाइन में कटौती:

    तो फिर तुम के बाद से VS2015 हमेशा ठीक से ताज़ा नहीं होता है, प्रत्येक project.json इस परियोजना चर्चा करते हुए ताज़ा करने के लिए आवश्यकता हो सकती है और 'पैकेज पुनर्स्थापित कर रहा है ... संदेश' के लिए प्रतीक्षा करने के लिए गायब हो जाते हैं

  3. लाइन वापस फिर से फाइल
पेस्ट
  • सहेजें

    ताज़ा करने के लिए एक और तरीका समाधान या परियोजना स्तर पर dotnet restore --no-cache चलाकर है।

  • 0

    मुझे यह समस्या थी जब एक सामान्य लाइब्रेरी प्रोजेक्ट एक से अधिक समाधान में था।

    लाइब्रेरी प्रोजेक्ट का निर्देशिका स्थान बदल दिया गया था और global.json फ़ाइल को एक समाधान में अपडेट किया गया था।

    दूसरी ओर, एसएलएन फ़ाइल को परियोजना के नए फ़ाइल स्थान के लिए अपडेट किया गया था। हालांकि, global.json नहीं। चूंकि परियोजना को एक उच्च निर्देशिका में स्थानांतरित कर दिया गया था, पुरानी global.json फ़ाइल बहुत विशिष्ट स्थान का संदर्भ दे रही थी।

    0

    मेरे लिए, लॉक फ़ाइल (project.lock.json) को हटाकर काम किया। इस फ़ाइल को हटाने के बाद, Nuget स्वचालित रूप से सभी संकुल बहाल कर दिया और समस्या गायब हो गई।

    अस्वीकरण

    हालांकि यह मेरे लिए काम किया है, मैं अगर यह चीजें हैं जो हर किसी के लिए काम करेंगे करने का एक गहरा तरीका है यकीन नहीं है। तो कृपया इस फ़ाइल को हटाने से पहले आप क्या कर रहे हैं इसके बारे में जागरूक रहें।

    संबंधित मुद्दे