मैं उसी प्रोजेक्ट पर काम कर रहा हूं क्योंकि टॉमस और मैंने यह पता लगाने की कोशिश की है कि यह समस्या कब होती है और क्यों। ऐसा लगता है कि यह तब होता है जब हमारे पास संकुल फ़ोल्डर में एक पैकेज के एक या अधिक पुराने संस्करण होते हैं और 'अद्यतन-पैकेज' आदेश जारी करने का प्रयास करते हैं।
आदेश जारी करने के हमारे संकुल फ़ोल्डर और config इस तरह दिखता है से पहले:
संकुल फ़ोल्डर:
Common.WebApi.1.0.0.109
Common.WebApi.1.0.0.110
संकुल config:
<packages>
<package id="Common.WebApi" version="1.0.0.110" />
<package id="System.Json" version="4.0.20126.16343" />
<package id="System.Net.Http" version="2.0.20126.16343" />
</packages>
अब, जब 'अपडेट- पैकेज जारी करने के आम .WebApi 'हमें त्रुटि मिलती है:
अद्यतन-पैकेज:' OPF.Common.WebApi 'किसी भी प्रोजेक्ट में स्थापित नहीं किया गया था। अपडेट विफल हुआ।
इसे ठीक करने के लिए मैं पैकेज फ़ोल्डर से पुराने पैकेज 'Common.WebApi.1.0.0.109' को हटा देता हूं और फिर कमांड को फिर से चालू करता हूं।
स्पष्ट प्रश्न यह है: मेरे पैकेज फ़ोल्डर में मेरा पुराना पैकेज क्यों है? यह हमारे साथ होता है क्योंकि हम स्रोत नियंत्रण में अपने स्वयं के पैकेज नहीं करते हैं। इसके बजाय, हम दृष्टिकोण है जो यहाँ वर्णित है का उपयोग करें: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
'पुराने पैकेज समस्या' इस स्थिति में होती है:
1. डेवलपर एक एक पैकेज अद्यतन करता है और स्रोत नियंत्रण
से 2 package.config करता है।डेवलपर बी को स्रोत नियंत्रण से नवीनतम संस्करण प्राप्त होता है और अद्यतन पैकेज.config
प्राप्त करता है 3. डेवलपर बी प्रोजेक्ट बनाता है और नया पैकेज उसके पैकेज फ़ोल्डर
में बनाया गया है 4. Nuget डेवलपर बी के पुराने पैकेज को अपने पैकेज से हटा नहीं देता है फ़ोल्डर इसलिए डेवलपर बी में अब उनके पैकेज फ़ोल्डर में पुराना पैकेज और नया पैकेज है, लेकिन केवल नए संस्करण में package.config में एक संदर्भ है।
मेरे लिए ऐसा लगता है कि Nuget संकुल फ़ोल्डर में एक पैकेज के एक से अधिक संस्करण होने की उम्मीद नहीं करता है और जब आप एक पैकेज को अद्यतन करने का प्रयास करते हैं तो संकुल हो जाता है जिसमें कई संस्करण [संकुल फ़ोल्डर में] भी होते हैं हालांकि आप केवल package.config से एक ही पैकेज का संदर्भ देते हैं।
स्रोत
2012-03-06 11:23:42
आप एक ही फ़ोल्डर एक संकुल फ़ोल्डर को साझा करने में कई समाधान है में संकुल बहाल चलाने? क्या आप स्रोत नियंत्रण में संकुल कर रहे हैं? – davidfowl
नहीं और नहीं। हम समाधान के बीच संकुल फ़ोल्डर साझा नहीं करते हैं और हम स्रोत नियंत्रण के लिए पैकेज में काम नहीं कर रहे हैं। हालांकि, यह अब कोई समस्या नहीं है। मैंने संकुल के लिए सभी पुरानी फ़ोल्डरों को हटा दिया और फिर से काम करना शुरू कर दिया। –
मुझे लगता है कि पैकेज पैकेज में निर्दिष्ट एक से अलग संस्करण हो सकता है (क्योंकि हम उन्हें जांच नहीं रहे हैं) पैकेज.कॉन्फिग में निर्दिष्ट एक की तुलना में, शायद इसमें कुछ कहना है? –