2013-02-26 100 views
5

पर कॉल नहीं करता है मुझे कुछ प्रारंभिक कोड को कॉल करने के लिए मिश्रण 4 की आवश्यकता है, इससे पहले कि यह मेरे आवेदन को प्रदर्शित कर सके और मैं इसे करने के लिए जोश स्मिथ द्वारा this approach का उपयोग कर रहा हूं। (अपने कस्टम मार्कअप एक्सटेंशन अपवाद और मिश्रण में त्रुटि संदेशों में से बहुत से फेंकने के लिए अग्रणी)मिश्रण डिज़ाइनटाइमबूटस्ट्रैपर

MainProgram 
    -- Properties 
    -- AssemblyInfo.cs (including the custom attribute) 
    -- App.xaml 
    -- HostWindow.xaml (UserControls are embedded here) 
    -- DesignTimeBootstrapperAttribute.cs 

ViewsAssembly 
    -- Lots of user controls 

किसी कारण से, डिजाइन समय bootstrapper हर निर्माण के बाद कहा जाता है नहीं है:

मैं निम्नलिखित परियोजना संरचना का उपयोग कर रहा । हालांकि इसे प्रारंभ में समाधान लोड करते समय बुलाया जाता है, और मुझे समझ में नहीं आता कि ब्लेंड यहां कैसे व्यवहार करता है।

मैं क्या गलत कर रहा हूं, या कोई और दृष्टिकोण है?

संपादित करें: मैंने देखा है कि एक पूर्ण पुनर्निर्माण करने से हर बार बूटस्ट्रैपर को कॉल किया जाता है। हो सकता है कि एक कामकाज के रूप में काम करेगा, लेकिन मैं अभी भी इसे समझना चाहता हूं।

+0

बस सोच रहा है लेकिन आपकी त्रुटियां हैं जैसे "त्रुटि संदेश: प्रकार के लिए कोई कन्स्ट्रक्टर नहीं" [क्लासनाम] 'में 0 पैरामीटर हैं " –

+0

नहीं, नहीं। मैं अपने प्रोजेक्ट के कुछ हिस्सों में एक सेवा लोकेटर का उपयोग करता हूं, और इसे इस्तेमाल करने से पहले इसे शुरू करने की आवश्यकता है। चूंकि प्रारंभिकरण को नहीं कहा जाता है, इसलिए जब मिश्रण इसका उपयोग करने का प्रयास करता है तो यह अपवाद फेंकता है। – Jens

उत्तर

3

क्या आप सत्यापित कर सकते हैं कि आपके पास वास्तव में मुख्य ऐप की असेंबली बाइनरी पुनर्निर्माण के बाद बदल गई है जो स्टार्ट-अप निष्पादित नहीं करती है? (मैं उम्मीद करता हूं कि ब्लाइंड्स नहीं बदलते हैं तो मिश्रण प्रतिबिंब का मूल्यांकन न करें)। मैं समाधान को साफ करने और पुनर्निर्मित करने की कोशिश भी करता हूं।

एक भारी काम के रूप में आप एक पोस्ट-बिल्ड इवेंट में समाधान/प्रोजेक्ट फ़ाइल (कहें, एक जगह जोड़ें) को बदलने पर विचार कर सकते हैं जिससे समाधान को फिर से लोड करने और अपने कस्टम स्टार्ट-अप कोड को फिर से निष्पादित करने का कारण बन जाएगा।

एक साइड नोट के रूप में, वीएस एक्सएएमएल यूआई डिज़ाइनर प्रक्रिया (xDesProc) के साथ मेरा अनुभव दिखाता है कि यह हमेशा पुन: निर्माण के बाद किए गए परिवर्तनों को हमेशा नहीं पकड़ता है और मुझे पुनः लोड करने के लिए टास्क मैनेजर का उपयोग करके इसे मारना है, एसएमई मिश्रण के साथ होता है।

+0

आपके सुझाव के लिए धन्यवाद। मेनप्रोग्राम की असेंबली प्रत्येक बिल्ड के साथ अपडेट की जाती है, भले ही केवल ViewsAssembly बदल दी गई हो। – Jens

+0

क्लेन एक योजना की तरह ध्वनि पुनर्निर्माण)। – Isantipov