मुझे जीएसी में कुछ असेंबली तैनात करनी है। मेरे पास जीएसी की समझ (मेरी) के बारे में कुछ सवाल थे। वास्तव में मुझे भ्रमित करता है।जीएसी और असेंबली संस्करण
मैं जानना चाहता हूं कि कौन से संस्करण असेंबली और फ़ाइल संस्करण को बदलना चाहते हैं। संभावित संयोजन क्या हैं जिसमें आवेदन स्थापित करके जीएसी डीएलएल को प्रतिस्थापित किया जाएगा। और जीएसी फाइलों के लिए बुनियादी प्रबंधन।
मैं GAC की बेहतर समझ के लिए निम्न उदाहरण का उपयोग करते हुए मेरे सवाल समझा जाएगा:
मान लीजिए मैं उत्पादों ए और बी की है।
दोनों ए और बी जीएसी में myfile.dll स्थापित किए गए हैं।
(i) विधानसभा संस्करण: [1.0.0.0]
(ii) विधानसभा फ़ाइल संस्करण: [2.0.0.0] (जानबूझकर अधिक भ्रम से बचने के अलग)
मान लीजिए मैं बग समाधान है कि लागू किया है myfile.dll में फिर मुझे किस संस्करण को बदलना चाहिए?
मान लीजिए कि मेरे पास 'एएनईई' का नया संस्करण है। तो कौन सा संस्करण बदला जाना चाहिए ताकि दोनों ए, बी ANEW दोनों तरफ रह सकें।
लगता है अगर मेरे पास है 'ए' GAC में और अब मैं 'बी' जो गाक dll बग फिक्स ..then साथ है स्थापित करने का प्रयास myfile.dll वर्तमान के साथ स्थापित किया जो संस्करणों ताकि परिवर्तन में दर्शाता है बदलने के लिए ' ए'।
क्यू 3 के समान ही है लेकिन बी का परिवर्तन 'ए' में प्रतिबिंबित नहीं होना चाहिए।
मान लीजिए 'ए' myfile (1.0.0.0) के साथ स्थापित है। अब मान लीजिए 'बी' myfile (1.x.y.z) के साथ स्थापित है .. क्या जीएसी फ़ाइल बदली जाएगी?
मान लीजिए 'ए' myfile (1.0.0.0) के साथ स्थापित है। अब मान लीजिए 'बी' myfile (2.x.y.z) के साथ स्थापित है .. क्या जीएसी फ़ाइल बदली जाएगी?
मान लीजिए 'ए' myfile (1.0.0.0) के साथ स्थापित है। अब मान लीजिए 'बी' माईफाइल (1.0.0.0) के साथ स्थापित हो रहा है मानते हुए कि संस्करण नहीं बदला गया है .. क्या जीएसी फ़ाइल बदली जाएगी?
इसके अलावा जीएसी डीएलएस को कैसे हटाया जाता है। क्या हटाने के लिए कोई मानदंड है?
मुझे लगता है कि प्रश्न थोड़ा उलझन में हैं लेकिन उम्मीद है कि आप लोग जानते हैं कि मैं क्या पूछ रहा हूं।
पुनश्च: इस विषय net-assembly-dll-sharing-and-deploying
thx। मुझे इस लिंक को http://blogs.msdn.com/junfeng/archive/2004/02/14/72666.aspx "जब हम देखते हैं कि जीएसी में असेंबली पहले से मौजूद है, तो हम फ़ाइल संस्करण की तुलना करने की कोशिश करते हैं जीएसी में असेंबली (चलिए इसे "पुरानी" असेंबली कहते हैं), और असेंबली के फ़ाइल संस्करण को स्थापित करने के बारे में (और "नई" असेंबली)। यदि "नया" असेंबली का फ़ाइल संस्करण "पुरानी" असेंबली से कम है, हम "नई" असेंबली स्थापित करने से इनकार कर देंगे, जब तक कि आप इंस्टॉल करने के लिए संलयन न करें ("gacutil -if")। " – Amitd
इस उत्तर और कुछ शोध के बाद .. मुझे जवाब मिल गया, thx u :) [ए] जीएसी में साइड बाय साइड इंस्टॉलेशन के लिए हमेशा असेंबली संस्करण बदलता है। [बी] बग फिक्स के लिए हमेशा असेंबली फ़ाइल संस्करण बदलें। [सी] पुराने फ़ाइल संस्करण को हमेशा उसी असेंबली संस्करण में नए द्वारा प्रतिस्थापित किया जाता है। [डी] पुराने फ़ाइल संस्करण (उसी असेंबली संस्करण दिए गए) के साथ नए फ़ाइल संस्करण को प्रतिस्थापित करने के लिए मजबूर करने के लिए gacutil में बल ध्वज का उपयोग करें। – Amitd