क्या मैं एक .NET अनुप्रयोग को एक तरह से (विजुअल स्टूडियो में सेटिंग्स) कॉन्फ़िगर कर सकता हूं कि यह जीएसी के भीतर एक असेंबली के बजाय "स्थानीय" असेंबली (GAC में नहीं) का संदर्भ देता है, हालांकि दोनों विधानसभाओं का एक ही नाम और वही संस्करण है ?जीएसी से किसी असेंबली को लोड/संदर्भित करने से .NET एप्लिकेशन को कैसे रोकें?
उत्तर
यदि दोनों असेंबली मजबूत नामित (हस्ताक्षरित) हैं, तो सीएलआर हमेशा जीएसी से लोड होगा।
लागू विन्यास फाइल की जांच, आवेदन विन्यास फाइल सहित प्रकाशक द्वारा सही विधानसभा संस्करण निर्धारित करता है:
ये कदम उठाएँ क्रम (How the Runtime Locates Assemblies से) विधानसभा संदर्भ को हल करने का उपयोग करता हैं नीति फ़ाइल, और मशीन कॉन्फ़िगरेशन फ़ाइल। विन्यास फाइल एक दूरस्थ मशीन पर स्थित है, तो क्रम पता लगाने और पहले आवेदन विन्यास फाइल डाउनलोड करना होगा।
जांचता है कि असेंबली का नाम पहले से जुड़ा हुआ है और यदि ऐसा है, तो पहले लोड की गई असेंबली का उपयोग करता है। तो विधानसभा लोड करने के लिए पिछले एक अनुरोध विफल रहा है, अनुरोध तुरंत विधानसभा लोड करने का प्रयास के बिना विफल रहता है।
वैश्विक असेंबली कैश की जांच करता है। यदि असेंबली वहां पाई जाती है, तो रनटाइम इस असेंबली का उपयोग करता है। विधानसभा के लिए
जांच (... कुछ सामग्री छोड़े गए ...)
के रूप में है कि एक ही आलेख में बाद में कहा गया है:
कोई संस्करण विधानसभाओं के लिए जाँच नहीं है मजबूत नामों के बिना, न ही रनटाइम मजबूत नामों के बिना असेंबली के लिए वैश्विक असेंबली कैश में जांच करता है।
तो यदि आप स्थानीय असेंबली से हस्ताक्षर हटाने का जोखिम उठा सकते हैं, तो आवेदन जीएसी में से किसी एक के बजाय इसका उपयोग करेगा।
और अधिक विस्तार से आप शायद कभी, क्रम बाध्यकारी तंत्र के बारे में चाहते सकता है Suzanne Cook's blog देखें।
This blog entry from Scott Hanselman बाध्यकारी प्रक्रिया का एक शानदार अवलोकन भी प्रदान करता है।
क्या आपको यह जवाब दिखाई दिया?
Forcing the ASP.NET Application to load the assembly from bin not from GAC
ऐसा लगता है जैसे आप एक ही काम करने की कोशिश कर रहे हैं।
सफलतापूर्वक अपने .नेट फ्रेमवर्क आवेदन को तैनात आपको समझना चाहिए आम भाषा क्रम कैसे पता लगाता है और विधानसभाओं कि आपके आवेदन को बनाने के लिए बांधता है। डिफ़ॉल्ट रूप से, रनटाइम उस असेंबली के सटीक संस्करण से जुड़ने का प्रयास करता है जिसके साथ एप्लिकेशन बनाया गया था।कॉन्फ़िगरेशन फ़ाइल सेटिंग्स द्वारा यह डिफ़ॉल्ट व्यवहार ओवरराइड किया जा सकता है।
आप असेंबली बाइंडिंग लॉग व्यूअर (Fuslogvw.exe) का उपयोग कर लॉग फ़ाइल में बाध्यकारी जानकारी देख सकते हैं, जो कि विंडोज सॉफ्टवेयर डेवलपमेंट किट (एसडीके) में शामिल है।
रों
आप स्थानीय dll की संस्करण संख्या को बदल सकते हैं, तो आप एक dll संस्करण रीडायरेक्ट oldVersion विशेषता का उपयोग कर सकते हैं। आप स्थानीय विधानसभा के लिए एक मजबूत नाम का उपयोग कर सकते हैं: कृपया इस पेज देखने के लिए: http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx
इसके अलावा, आप पर विचार करना चाहिए कि यह एक संकलित विधानसभा की संस्करण संख्या को संशोधित करने की तरह इसे यहाँ वर्णन किया गया है संभव है: Change Assembly Version in a compiled .NET assembly
- 1. किसी एप्लिकेशन को अनइंस्टॉल करने से कैसे रोकें?
- 2. जीएसी से असेंबली को अनइंस्टॉल करने में असमर्थ?
- 3. सी #: जीएसी से असेंबली कैसे लोड करें?
- 4. दूसरों को मेरी .NET असेंबली का उपयोग करने से कैसे रोकें?
- 5. किसी पृष्ठ को स्टाइल करने से JQM को कैसे रोकें?
- 6. विशेष तरीकों को कॉल करने से .NET कोड को रोकें?
- 7. किसी को भी मेरे shared_ptr चोरी करने से कैसे रोकें?
- 8. पृष्ठभूमि में चलने से एप्लिकेशन को रोकें?
- 9. जीएसी और असेंबली संस्करण
- 10. जीएसी प्रोग्रामेटिक रूप से
- 11. जावा स्विंग को बंद करने से रोकें एप्लिकेशन
- 12. किसी .NET असेंबली
- 13. मैं मैन्युअल रूप से जीएसी में असेंबली कैसे कॉपी करूं?
- 14. दृश्य स्टूडियो को असेंबली संदर्भों को अपडेट करने से कैसे रोकें?
- 15. मैं इनोसेटअप में जीएसी में .NET असेंबली कैसे जोड़ूं?
- 16. .NET असेंबली भ्रम को हल करने
- 17. ग्लोबल असेंबली कैश (जीएसी)
- 18. असेंबली के लिए जीएसी जांचें
- 19. सुरक्षित रूप से .net असेंबली को कैसे चिह्नित करें?
- 20. जीएसी
- 21. .NET असेंबली को समझना
- 22. डेटाबेस को संशोधित करने से रोकें फ्रेमवर्क
- 23. .net 4 आंशिक ट्रस्ट जीएसी
- 24. अग्रणी व्हाइटस्पेस को ट्रिम करने से dbms_output.put_line को कैसे रोकें?
- 25. बच्चे को माता-पिता को प्रभावित करने से कैसे रोकें
- 26. स्क्रॉलबार को सामग्री को ओवरलैप करने से कैसे रोकें?
- 27. जावा से .NET असेंबली को कॉल करना: JVM क्रैश
- 28. जीएसी
- 29. लिखने से .NET को रोकें C: \ Windows \ Temp
- 30. मेरे आवेदन को बंद करने से पीछे बटन को रोकें
ओह मुझे यह जवाब नहीं मिला जब मैंने इस विषय के लिए StackOverFlow की खोज की। लेकिन आप सही हैं, आखिरकार सवाल लगभग वही है। – Flo