हम काम पर एक डब्ल्यूपीएफ आवेदन विकसित कर रहे हैं जिसमें विभिन्न "आम" निर्भरताएं (एकता, प्रिज्म, आदि) हैं।NuGet में पैकेज निर्भरताओं से निपटने का कोई शानदार तरीका है?
नई परियोजनाओं को जोड़ते समय यह ठीक है और फिर परियोजना के लिए NuGet पैकेज निर्भरता स्थापित करना, लेकिन जब यह उन्नयन की बात आती है, तो यह वास्तव में दर्दनाक है क्योंकि इसका मतलब है कि हमें प्रत्येक परियोजना के माध्यम से जाना होगा, पुराने संदर्भों को हटाएं और फिर NuGet से नवीनतम पैकेज रीफ्रैच करें।
आज उदाहरण के लिए, मुझे प्रिज्म को 5.0 से 6.0 तक अपग्रेड करने का काम सौंपा गया था (जिसने वैसे भी परिवर्तन तोड़ दिया है) और इसका मतलब है कि, सभी नामस्थान संघर्षों को ठीक करने के अलावा, मुझे हर परियोजना के माध्यम से जाना होगा, हटाएं पुराने संदर्भ, नई निर्भरता जोड़ें और कुल्ला और दोहराना।
मेरा सवाल है, क्या इस समस्या से निपटने का एक शानदार तरीका है या यह मानक दृष्टिकोण है?
अग्रिम में बहुत धन्यवाद,
अद्यतन:
मैं ज्यादातर "प्रमुख" उन्नयन जो पैकेज प्रबंधक पर दिखाई नहीं देती हैं साथ चिंतित हूं। संस्करण 5.0 -> 6.0 अपग्रेड को एक बड़े अपग्रेड के रूप में माना जाएगा और इसलिए, NuGet पैकेज मैनेजर में स्वचालित अपडेट नहीं होगा।
मुझे उम्मीद नहीं है कि NuGet मेरे लिए यह स्वचालित रूप से ऐसा करने में सक्षम हो जाएगा क्योंकि ऐसे अपग्रेड (और अक्सर करते हैं) में ब्रेकिंग परिवर्तन शामिल हो सकते हैं, लेकिन मैं जानना चाहता हूं कि बड़े अपग्रेड को हटाने से कम दर्दनाक तरीके से करने का कोई तरीका है या नहीं परियोजनाओं के संदर्भ और संकुल.कॉन्फिग प्रत्येक प्रोजेक्ट के लिए और फिर NuGet का उपयोग करके उन्हें फिर से जोड़ना। अपेक्षाकृत बड़ी परियोजना के लिए, यह बहुत समय ले रहा है और मैं सोच रहा था कि अगर किसी के पास ऐसी निर्भरताओं का प्रबंधन करने का बेहतर तरीका है।
मुझे लगता है कि आपने अभी भी वीएस2015 के साथ काम नहीं किया है ... विजुअल स्टूडियो का कौन सा संस्करण आप काम कर रहे हैं? –
@ DeblatonJean-Philippe 2013. मुझे 2015 तक अपग्रेड करना अच्छा लगेगा लेकिन दुर्भाग्यवश इस समय संभव नहीं है (कॉर्पोरेट लाइसेंसिंग इत्यादि) – kha
@kha (आपके अपडेट के बाद) मुझे यकीन नहीं है कि मैं समझता हूं। मैंने NuGet पैकेज मैनेजर के माध्यम से v5.0.0 से v6.1.3 तक एंटीटी फ्रेमवर्क का एक बड़ा अपडेट किया है, और हाँ वहां परिवर्तन तोड़ रहे थे, इसलिए मुझे उन्हें भी ठीक करना पड़ा। App.config/web.config फ़ाइलों में संदर्भ स्वचालित रूप से अपडेट किए गए थे, मुझे बस इतना करना था कि उपयोग कथन में कुछ नामस्थान समस्याएं बदल दी गईं। – djm61