2009-06-12 21 views
5

मैं प्रिज्म का उदाहरण उदाहरण के रूप में उपयोग कर रहा हूं; यह पहली बार डब्ल्यूपीएफ के साथ खेल रहा है। मैंने दो मॉड्यूल लिखे हैं; ऑर्डर मॉड्यूल और ऑर्डरडिमेंट मॉड्यूल। मैं अपना ऐप चलाने में सक्षम था और उन्हें एक स्क्रीन पर पॉप्युलेट कर रहा था, अब मैं केवल एक मॉड्यूल लोड करने की कोशिश कर रहा हूं और एक बटन क्लिक के साथ दूसरे को लोड कर रहा हूं। मैं पहले कोड में अपने मॉड्यूल लोड कर रहा था, फिर मैंने देखा कि प्रिज्म एक्सएमएल का उपयोग कर रहा है इसलिए मैं इसे भी करने की कोशिश कर रहा हूं। किसी कारण यह उन्हें नहीं मिल सकता है के लिए, पूर्ण त्रुटि मैं मिलता है:मॉड्यूल प्रकार को पुनर्प्राप्त करने में असमर्थ त्रुटि

Microsoft.Practices.Composite.Modularity.ModuleInitializeException बिना क्रिया संदेश = "मॉड्यूल प्रकार NetworkOrderManagement.WPF_Modules.Order, OrderModule से प्राप्त करने में असमर्थ था भारित असेंबली। आपको एक अधिक पूर्ण-योग्य प्रकार का नाम निर्दिष्ट करने की आवश्यकता हो सकती है। "

<modules> 
<module assemblyFile="WPFOrderModule.dll" 
     moduleType="NetworkOrderManagement.WPF_Modules.Order, OrderModule" 
     moduleName="OrderModule"/> 
<module assemblyFile="WPFOrderDetailModule.dll" 
     moduleType="NetworkOrderManagement.WPF_Modules.OrderDetail, OrderDetailModule" 
     moduleName="OrderDetailModule" 
     startupLoaded="false"/> 

से link text मॉड्यूल विन्यास खंड के भीतर

, अपने मॉड्यूल को परिभाषित:

यह मेरी app.config में मॉड्यूल अनुभाग है। ऐसा करने के लिए, एक मॉड्यूल एक्सएमएल तत्व जोड़ें। इस तत्व में निम्नलिखित विशेषताएं हैं:

असेंबलीफ़ाइल। यह विशेषता मॉड्यूल की असेंबली के स्थान को निर्दिष्ट करती है। यह विशेषता आवश्यक है।

मॉड्यूल टाइप। यह विशेषता मॉड्यूल की असेंबली के भीतर प्रकार निर्दिष्ट करती है जो IModule इंटरफ़ेस लागू करती है। यह विशेषता आवश्यक है।

मॉड्यूलनाम। यह विशेषता मॉड्यूल के नाम को निर्दिष्ट करती है। यह विशेषता आवश्यक है।

स्टार्टअप लोडेड। यह विशेषता निर्दिष्ट करती है कि मॉड्यूल स्टार्टअप पर लोड किया गया है या नहीं। यदि इसका मान सत्य है (यह डिफ़ॉल्ट मान है), मॉड्यूल स्टार्टअप पर लोड किया जाना चाहिए। यदि इसका मान गलत है, तो मॉड्यूल स्टार्टअप पर लोड नहीं होना चाहिए; इसके बजाय, इसे मांग पर लोड किया जाना चाहिए। यह विशेषता आवश्यक नहीं है।

मेरा ऑर्डर मॉड्यूल जो IModule लागू करता है, नामस्थान नेटवर्कऑर्डर मैनेजमेंट.WPF_Modules.Order में है।

कोई विचार?

उत्तर

6

यह शायद इसके प्रकार के आधार पर मॉड्यूल लोड करने के लिए प्रतिबिंब का उपयोग कर रहा है। काम करने के प्रतिबिंब के लिए आपको पूरी तरह से योग्य प्रकार का नाम उपयोग करना होगा। यह आमतौर पर प्रारूप का है: "Full.Namespace.TypeName, Assembly नाम"। यह सबसे बुनियादी नामकरण होगा। यदि यह हल नहीं होता है, तो आपको संस्करण, भाषा इत्यादि जैसी चीजों सहित अतिरिक्त जोड़ों को जोड़ना शुरू करना होगा।

+0

अब यह काम कर रहा है, मेरे पास "नामस्थान, टाइपनाम" कोई असेंबली नहीं था। –

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

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