मेरे पास एक वीएस एड-इन है जो किसी ऑब्जेक्ट को deserialize करने के लिए एक बाइनरीफॉर्मेटर का उपयोग कर रहा है। इस ऑब्जेक्ट के प्रकार को हल करने के लिए, यह असेंबली कॉल कर रहा है। लोड (ऑब्जेक्ट टाइप टाइप करें) लेकिन यह अपवाद ट्रिगर कर रहा है क्योंकि असेंबली.लोड किसी भी स्थान पर असेंबली नहीं ढूंढ सकता है। दी गई असेंबली ऐड-इन असेंबली के लिए भाई है, लेकिन ऐसा लगता है कि असेंबली। लोड() इसे वहां नहीं ढूंढ सकता है।यह निर्धारित करने के लिए कि असेंबली के लिए विधानसभा.लोड() कहां खोजें?
एक संभावित समाधान यह निर्धारित करना होगा कि विधानसभा। लोड को असेंबली के लिए देखना चाहिए।
मुझे क्या करना चाहिए?
पीएस: मैं इस असेंबली को जीएसी पर नहीं डालने की कोशिश कर रहा हूं क्योंकि जब भी मैं असेंबली को पुन: संकलित करता हूं तो मुझे इसे अपडेट करने की आवश्यकता होगी।
धन्यवाद रीड। कुछ नोट्स: भले ही AppDomain.AppendPrivatePath को AppDomainSetup.PrivateBinPath के पक्ष में बहिष्कृत किया गया है, मैं केवल पहले का उपयोग कर सकता था। AppDomainSetup.PrivateBinPath इसे बदलने के बाद शून्य बना रहता है। AppDomain.AppendPrivatePath मुझे किसी भी पथ को जोड़ने की सुविधा देता है जो AppDomain.BaseDirectory का एक बच्चा है, जो कई मामलों में पर्याप्त है, मेरे में नहीं, क्योंकि मेरा बेस डायरेक्टरी डेवीएनवी निर्देशिका है। दूसरा समाधान, AppDomain.AssemblyResolve काफी अच्छा है। नोट्स: ईवेंट केवल तभी बुलाया जाता है जब .NET स्वयं के लिए असेंबली को हल नहीं कर सकता है। यदि सभी हैंडलर शून्य लौटते हैं, तो एक अपवाद –