2015-09-11 6 views
7

से SpecificVersion झूठी को हटाने जब मैं एक NuGet पैकेज जिसका संदर्भ मैंप्रोजेक्ट फाइल

<SpecificVersion>False</SpecificVersion> 

यह परियोजना (csproj) फ़ाइल से इस लाइन को हटा होने के लिए निर्धारित किया है अद्यतन NuGet पैकेज प्रबंधक क्यों है।

इस व्यवहार के पीछे तर्क क्या है और क्या इसके आसपास नियंत्रण या काम करने का कोई तरीका है?

उत्तर

3

इस प्रकार NuGet वर्तमान में कार्यान्वित किया गया है। ऐसा कोई कामकाज नहीं है जिसे मैं जानता हूं। अपडेट करने पर बदले गए संदर्भों को ठीक करने के लिए आपको शायद PowerShell स्क्रिप्ट लिखनी पड़ेगी।

NuGet पैकेज को अपग्रेड करना पुराने संस्करण को अनइंस्टॉल करेगा और नया संस्करण स्थापित करेगा जो संदर्भ को हटाने का कारण बनता है और फिर फिर से जोड़ा जाता है। नए संदर्भ में नए संदर्भ के लिए डिफ़ॉल्ट मान हैं, इसलिए पुराने मान याद नहीं किए जाते हैं।

मोनो डेवलपमेंट और एक्समरिन स्टूडियो समर्थन में संदर्भ के स्थानीय प्रतिलिपि मान को बनाए रखने के लिए स्पष्ट रूप से जोड़ा गया था लेकिन विशिष्ट संस्करण गुण नहीं।

+4

मुझे आश्चर्य है कि बहुत कम लोग इसके लिए पूछ रहे हैं। मैंने इस बारे में गिटहब पर [एक मुद्दा] (https://github.com/NuGet/Home/issues/1380) खोला है। – Dejan

+0

पूरी तरह से, कमांड लाइन और विजुअल स्टूडियो एक्सटेंशन दोनों नवीनतम संस्करणों का उपयोग कर संकुल अद्यतन करते समय काफी भिन्न व्यवहार करते हैं। @Dejan क्या आपके पास इस विषय पर कोई अच्छा संदर्भ है, क्योंकि NuGet दस्तावेज़ किसी भी उपकरण (कमांड लाइन बनाम विजुअल स्टूडियो एक्सटेंशन) के माध्यम से अपडेट करते समय .csproj फ़ाइलों को अद्यतन करते समय अपडेट नहीं किया जाता है। – fernandoespinosa

+0

@fernandoespinosa .org: मेरे पास खोले गए गिटहब मुद्दे के अनुवर्ती से अधिक जानकारी नहीं है (ऊपर देखें)। – Dejan

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