2012-02-05 16 views
13

में टैग 'XXX' मौजूद नहीं है। मैंने टेक्स्ट 32 पर एक संपत्ति को बाध्य करने में सक्षम होने के लिए Int32 से स्ट्रिंग को कनवर्ट करने के लिए एक कनवर्टर लागू किया है।एक्सएमएल नेमस्पेस 'क्लियर-नेमस्पेस: YYY'

मैं इस कनवर्टर को नेमस्पेस MyApp.Converters में कार्यान्वित करता हूं और इसे Int32ToStringConverter कहा जाता है।

फिर, मेरी axml में मैं संदर्भ मेरी कनवर्टर करने के लिए इस प्रकार जोड़ें:

<Window x:Class="MusicaDB.Views.PrincipalView" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:i="namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
     **xmlns:converter="clr-namesapce:MyApp.Converters, aseembly=MyApp**"> 

बाद में, windows.Resources में मेरे पास है:

<Window.Resources> 
     <**converter:Int32ToStringConverter** x:Key="Int32ToStringConverter" /> 
</Window.Resources> 

मैं त्रुटि मिलती है कि टैग Int32ToString कनवर्टर नामस्थान MyApp.Converters, असेंबली = MyApp में मौजूद नहीं है।

मेरे पास प्रोजेक्ट गुणों में स्थानीय हार्ड ड्राइव में प्रोजेक्ट है, गंतव्य .NET फ्रेमवर्क 4.0 है, फ्रेमवर्क 4.0 क्लाइंट प्रोफाइल नहीं है और मैं समाधान को साफ़ करने और पुन: संकलित करने की कोशिश करता हूं लेकिन समस्या बनी रहती है।

मुख्य रूप से, यह दो समाधान हैं जो मुझे हमेशा मिलते हैं, लेकिन मेरी समस्या का समाधान नहीं करते हैं।

उत्तर

24

तीन फिक्स यहाँ बनाने के लिए:

  1. कोई स्थान नहीं ->xmlns:converter="clr-namesapce:MyApp.Converters,aseembly=MyApp"
  2. कोई ग़लत वर्तनी ->xmlns:converter="clr-namespace:MyApp.Converters,assembly=MyApp"
  3. सही सीमांकक ->xmlns:converter="clr-namespace:MyApp.Converters;assembly=MyApp"

कैसे कुछ प्रयोग करने से पहले the reference पढ़ने के बारे में ?

ध्यान दें कि चरित्र अपने मूल्य से clr-नाम स्थान टोकन को अलग करने में एक विराम है (:) एक चिह्न (=) के बराबर होती है, जबकि चरित्र अपने मूल्य से विधानसभा टोकन अलग है। इन दो टोकन के बीच उपयोग करने वाला चरित्र अर्धविराम है। इसके अलावा, घोषणा में कहीं भी किसी भी सफेद स्थान शामिल न करें।

+0

संदर्भ लिंक चला गया है! –

+2

@WaldoAlvarez: यह नहीं है, यह सिर्फ एक बेवकूफ डिफ़ॉल्ट का उपयोग कर एमएसडीएन है, यदि आप देखते हैं कि "यह विषय अब उपलब्ध नहीं है", "अन्य संस्करण" ड्रॉपडाउन से पिछले संस्करण का चयन करें। –

+0

आह ठीक है, बेहतर लिंक https://msdn.microsoft.com/en-us/library/ms747086(v=vs.100 प्रदान करें)।एएसपीएक्स –

3

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

enter image description here

दृश्य स्टूडियो में

तरह दिखाई नहीं जोड़ा है MyApp.dll है।

11

मैं यह क्यों कर रहा हूं कि यह क्यों हो रहा है, लेकिन यदि आपका कनवर्टर मुख्य असेंबली में है, तो असेंबली = अपने xmlns से हटा रहा है: कन्वर्टर्स टैग को उस त्रुटि त्रुटि को हटा देना चाहिए।

2

मेरी स्थिति में, मुझे xmlns:local="clr-namespace:<mydefaultnamespace>" के साथ एक ही समस्या थी। मैंने इसे शामिल करने के क्रम को हल करने का हल किया। मैंने इसे पहले रखा और सभी हल हो गए। एक अजीब व्यवहार, लेकिन यह मेरी कामकाज थी जो मैंने अपनी स्थिति में पाया।

3

रिकॉर्ड के लिए ... मुझे एक समान समस्या का सामना करना पड़ा है और यदि मैंने XAML से "; assembly = X" भाग हटा दिया है तो यह ठीक है

लेकिन वास्तव में कारण को समझ में नहीं आता है।

के रूप में इस ब्लॉग में सुझाव दिया: http://zoomicon.wordpress.com/2012/07/02/fix-the-tag-xxx-does-not-exist-in-xml-namespace-clr-namespaceyyy/#comment-7761

+0

जाहिर है, अगर यह एक ही असेंबली में है, तो इसे मत डालें। यदि यह नहीं है, तो इसे डाल दें। – BrainSlugs83

0

मेरे मामले में, विधानसभा जो नाम स्थान निहित शारीरिक रूप से वहाँ नहीं था।

मैंने असेंबली के संदर्भों की जांच की जिसमें बिल्ड त्रुटि थी और संदर्भ में संदर्भित असेंबली के गुणों को देखा।

मैंने पथ पर नेविगेट किया और पाया कि असेंबली वास्तव में गायब थी (जो मुझे एहसास हुआ कि मेरा खुद का) था, जो भ्रामक त्रुटि को जन्म दे रहा था।

18

इस समस्या का एक अन्य संभावित समाधान यह है कि आप अपने प्रोजेक्ट और अपनी लाइब्रेरी में .NET के समान संस्करण का उपयोग नहीं कर रहे हैं।

+0

यह बहुत उपयोगी है - मेरे पास मेरा वाक्यविन्यास सही था, लेकिन मैं जिस नई असेंबली का संदर्भ दे रहा था, उसके लिए फ्रेमवर्क संस्करण सेट करना भूल गया। धन्यवाद। –

+1

आप एक lifesaver हैं। – MetalMikester

+0

क्या आप इस पर और विस्तार कर सकते हैं? अधिक जानकारी –

3

सभी उत्तरों सही हैं। और उन सभी को आजमाकर और आप कॉन्फ़िगर नहीं कर सकते कि यह क्यों हो रहा है, सब कुछ ठीक लगता है, कृपया विजुअल स्टूडियो को पुनरारंभ करें।

यह लगभग 1 घंटे बर्बाद करने के बाद मेरे लिए काम करता था। मैंने सब कुछ ठीक पाया, लेकिन प्रशासन के साथ वीएस को फिर से शुरू किया।

+0

मैं सचमुच यह जानने की कोशिश कर रहा था कि लगभग 3 घंटे की तरह क्या चल रहा था !! वीएस को पुनरारंभ करने के आपके सुझाव ने चाल की !! –

0

केवल एक अन्य प्रोजेक्ट में होने पर टैग को इकट्ठा करें। अन्य बुद्धिमान उपयोग केवल नामस्थान टैग अकेले उपयोग करें। मुझे इस के लिए इस मुद्दे को

1

तय एक बहुत अस्पष्ट मामला है जब आप इस त्रुटि मिलती है - अगर आप Microsoft.mshtml.dll उपयोग कर रहे हैं और आप उन्नयन Windows 10 वर्षगांठ संस्करण के लिए, या के रूप में यह भी निर्माता संस्करण पता चला है।

भले ही यह आपके साथ नहीं होता है, यह सुनिश्चित करें कि उस घटक वाली लाइब्रेरी जिसमें पूरी तरह से संकलित नहीं किया जा सकता है। किसी भी सुराग के लिए त्रुटि सूची (ग्रिड लेकिन आउटपुट कंसोल नहीं) में देखें।

मेरे मामले में मैं एक HTML संपादक के हिस्से के रूप में Microsoft.mshtml.dll का उपयोग कर रहा था और इसे किसी भी तरह (जीएसी में) अनियंत्रित किया गया था।

निम्नलिखित लेख स्क्रीनशॉट के साथ बताते हैं:

https://techninotes.blogspot.com/2016/08/fixing-cannot-find-wrapper-assembly-for.html#comment-form

संक्षेप में मैं एक दृश्य स्टूडियो कमांड प्रॉम्प्ट को चलाने के लिए (व्यवस्थापक के रूप में) था इन आदेशों को चलाने:

cd C:\Windows\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a 
regasm Microsoft.mshtml.dll 

मैं अस्पष्ट कहा :-) महत्वपूर्ण बिंदु उन त्रुटियों को पढ़ना है जिन्हें आपकी सभी चेतावनियों में दफनाया जा सकता है क्योंकि एक महत्वपूर्ण सुराग हो सकता है।

यह विशेष रूप से भ्रमित हो सकता है यदि कोई ऑपरेटिंग सिस्टम अपडेट अचानक आपकी परियोजना को तोड़ देता है।

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