c# - लेआउटअवेयर पेज नामस्थान VS2012 बग में मौजूद नहीं है?




microsoft-metro visual-studio-2012 (9)

मैं अपने विन 8 ऐप पर एक खोज अनुबंध प्राप्त करने की कोशिश कर रहा हूं लेकिन मेरे प्रोजेक्ट में एक खोज अनुबंध जोड़ने के बाद मुझे निम्नलिखित नामस्थान त्रुटि मिलती है:

LayoutAwarePage does not exist in namespace App1.Common.

मेरे पास xaml में सही नेमस्पेस घोषणाएं हैं:

xmlns:common="using:App1.Common"

और लेआउटअवेयर पेज सही नेमस्पेस App1.Common में है

वीएस2012 को पुनरारंभ करना या हटाना और पुनर्निर्माण करना मदद नहीं करता है। इस समस्या को दोहराने के लिए निम्न कोशिश करें:

1) नया खाली मेट्रो ऐप बनाएं

2) विजुअल सी ++ रनटाइम के संदर्भ जोड़ें

3) प्रोजेक्ट में एक खोज अनुबंध जोड़ें (लेआउटएवेयरपेज इत्यादि जैसे अन्य सामान स्वचालित रूप से जोड़ने के लिए हाँ पर क्लिक करें)

4) पुनर्निर्माण और SearchResultsPage1.xaml खोलें

यदि आप उपरोक्त चरणों का पालन करते हैं तो आपको त्रुटि दिखाई देनी चाहिए और यह भी ध्यान दें कि SearchResultsPage1 डिज़ाइनर में प्रदर्शित नहीं होता है।

यह समस्या तब होती है जब आप Visual C ++ रनटाइम के संदर्भ को जोड़ते हैं। इस संदर्भ के बिना एक खोज अनुबंध जोड़ना ठीक काम करता है!

कोई विचार? मुझे यहां क्या समझ नहीं आ रहा है? क्या आप उपर्युक्त चरणों का उपयोग कर समस्या को दोहरा सकते हैं?


Answers

मैंने अभी परियोजना को उतार दिया और इसे वीएस -22012 में पुनः लोड किया और यह काम करना शुरू कर दिया। कुछ भी आवश्यक नहीं हटाना।


मैं बस एक ही मुद्दे में भाग गया।

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


मुझे यह परेशानी समस्या थी जो विंडोज आरटी के लिए SQLite (v3.7.15) पर SQLite का उपयोग करने के लिए जुड़ा हुआ हो सकता है, और यादृच्छिक "डिज़ाइन व्यू x64 और एआरएम लक्ष्य प्लेटफ़ॉर्म के लिए अनुपलब्ध है" त्रुटियां।

भले ही, मेरे लिए, प्रोजेक्ट और समाधान दोनों के लिए लक्ष्य प्लेटफ़ॉर्म को x86 में बदलने के बाद, लेआउट जागरूक कार्यक्षमता समेत सब कुछ ठीक काम करता है।

तो समाधान एक्सप्लोरर में प्रोजेक्ट और समाधान दोनों पर राइट क्लिक करें, गुणक्लिक करें, और एक x86 आर्किटेक्चर का चयन करें।

यह मुझे "कोई सीपीयू" लक्ष्य के रूप में थोड़ा परेशान नहीं करता है, इसलिए यदि कोई जानता है कि यह काम SQLite और लेआउट जागरूक पृष्ठों के साथ कैसे बनाना है, तो कृपया इसमें शामिल हों।


अगर खोला गया तो कृपया वीएस में सभी टैब बंद करें।

फिर बिल्ड-> स्वच्छ समाधान पर क्लिक करें

अगला बिल्ड-> पुनर्निर्माण समाधान पर क्लिक करें

अब xaml फ़ाइल खोलें।

उम्मीद है कि यह काम करेगा


आपको WinRTXamlToolkit का संदर्भ जोड़ना होगा: VS2012 एक्सप्रेस से

  1. "संदर्भ" आइटम पर राइट क्लिक करें;
  2. "NuGet पैकेज प्रबंधित करें ..." का चयन करें;
  3. नई विंडो में बाईं ओर दिए गए मेनू में "ऑनलाइन" का चयन करें, फिर "विंडोज़ और पैकेज";
  4. "WinRTXamlToolkit" नामक लाइब्रेरी के लिए खोजें, इसे चुनें और फिर "इंस्टॉल करें" बटन पर क्लिक करें।

मेरे लिए यह परेशान करने वाली बग को डीबग से किसी भी सीपीयू से x86 में बदलकर हल किया गया था और यहां तक ​​कि डिजाइनर के साथ भी इसे वापस जीवन में उछाल दिया गया था। फिर जब आप पूरा कर लेंगे तो आप किसी भी सीपीयू पर बंद और बदल सकते हैं और बस ठीक बना सकते हैं।


यूडब्ल्यूपी ऐप को संकलित करते समय मुझे समान बग की एक लंबी सूची मिली। हालांकि उनमें से छिपी हुई, कई वास्तविक संकलन त्रुटियां थीं। जब मैंने वास्तविक त्रुटियों को ठीक किया, तो गायब संदर्भ भी गायब हो गए।

तो, पहले किसी भी अन्य संकलन त्रुटियों को ठीक करें, और देखें कि क्या "नामस्थान में अनुपलब्ध" त्रुटियां गायब हो गई हैं या नहीं।

संपादित करें: मेरे सहयोगी को भी वीएस 2017 में यह बग था। बिल्ड मेनू के माध्यम से समाधान की सफाई नहीं हुई। समाधान एक्सप्लोरर में परियोजनाओं पर राइट-क्लिक करके और प्रत्येक की सफाई, फिर पुन: निर्माण, काम किया।

EDIT2: बस इस समस्या को फिर से मिला था। 22 "नामस्थान में अनुपलब्ध" त्रुटियां।
मैंने व्यूमोडेल से बटन हैंडलर हटा दिया था, लेकिन एक्सएएमएल कोड से बटन को मिटाना भूल गया था। जब मैंने इस वास्तविक त्रुटि को ठीक किया, तो 22 "नामस्थान में अनुपलब्ध" त्रुटियां भी गायब हो गईं।


मैंने बिंग मैप्स एसडीके के संदर्भ को हटा दिया और प्लेटफार्म लक्ष्य को किसी भी सीपीयू पर वापस सेट किया और यह मेरे लिए समस्या हल हो गई।








c# microsoft-metro visual-studio-2012