2014-12-04 9 views
5

मैं समाधान में सभी resx फ़ाइलों में कुछ मेटाडेटा रखना चाहता हूं। Is लगता है इस तरह metadata तत्व का उपयोग पूरा किया जा सकता resx फ़ाइलों के लिए एम्बेडेड XSD में शामिल:मैं resx फ़ाइलों को मेटाडेटा कैसे जोड़ सकता हूं

<xsd:element name="metadata"> 
    <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="value" type="xsd:string" minOccurs="0" /> 
     </xsd:sequence> 
     <xsd:attribute name="name" use="required" type="xsd:string" /> 
     <xsd:attribute name="type" type="xsd:string" /> 
     <xsd:attribute name="mimetype" type="xsd:string" /> 
     <xsd:attribute ref="xml:space" /> 
     </xsd:complexType> 
</xsd:element> 

मैं 100% यकीन नहीं है कि metadata तत्व मनमाना मेटाडाटा स्टोर करने के लिए इस्तेमाल किया जाना चाहिए, क्योंकि मैं करने में असमर्थ था अपने इच्छित उद्देश्य के बारे में कोई दस्तावेज ढूंढें। लेकिन यह तब तक ठीक काम करता है जब तक पाठ पाठ का उपयोग करके resx फ़ाइलों को संपादित किया जाता है।

समस्या विजुअल स्टूडियो 2013 में resx फ़ाइल को संपादित करते समय उत्पन्न होती है। संसाधन खोलने का डिफ़ॉल्ट तरीका "प्रबंधित संसाधन संपादक" है। दुर्भाग्य से, प्रबंधित संसाधन संपादक डेटा और मेटाडेटा के बीच अंतर नहीं बनाता है। इससे मेटाडेटा को सहेजने के लिए चुपचाप डेटा में बदल दिया जाता है। यह बग (या शायद जानबूझकर डिजाइन) at least 2010 के बाद से अस्तित्व में है।

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

  1. जनादेश है कि कोई भी प्रबंधित संसाधन संपादक का उपयोग कर सकते हैं:

    यहाँ संभव समाधान मैं के बारे में पता कर रहा हूँ कर रहे हैं। यह ठीक हो सकता है अगर यह सिर्फ मुझे था, लेकिन मुझे पूरी टीम की आवश्यकता नहीं हो सकती है। प्रबंधित संसाधन संपादक एक उपकरण बहुत उपयोगी है।

  2. प्रबंधित संसाधन संपादक का उपयोग करने के बाद सभी मैन्युअल रूप से मेटाडेटा को ठीक करने की आवश्यकता है। यह बहुत त्रुटि प्रवण और बोझिल है।
  3. विजुअल स्टूडियो टीम को कोई समस्या सबमिट करें। हम यह करेंगे, लेकिन हम प्रतीक्षा करते समय समाधान की जरूरत है, और कोई गारंटी नहीं है कि कोई फिक्स कभी आएगा।
  4. फोर्क प्रबंधित संसाधन संपादक इसलिए यह व्यवहार करता है कि हम कैसे चाहते हैं। मैं स्रोत खोजने में असमर्थ था और इसकी संभावना है कि लाइसेंसिंग समस्याएं हों। हम एक कांटा बनाए रखने में भी रुचि नहीं रखते हैं।
  5. प्रबंधित संसाधन संपादक का अपना संस्करण लिखें। यह उपर्युक्त विकल्प की तरह है, लेकिन हमारे उपयोग के मामले के मुकाबले कहीं अधिक काम करना उचित है।
  6. बस data टैग में मेटाडेटा स्टोर करें। यह एक स्पष्ट हैक है।

ऐसा लगता है कि यहाँ विफलता resx फ़ाइलों के साथ नहीं है, यह resx फ़ाइलों के आसपास विजुअल स्टूडियो टूल के साथ है। हालांकि, हम जल्द ही विजुअल स्टूडियो से दूर नहीं जा रहे हैं। क्या कोई समाधान है जो मुझे याद आ रहा है?

उत्तर

0

मैं फ़ाइलों में मेटाडेटा जोड़ने के लिए एक अच्छा समाधान खोजने में असमर्थ था। मैं अपने प्रस्तावित समाधान # 6 के साथ जा रहा हूं: data टैग में मेटाडेटा स्टोर करें।

अधिक विशेष रूप से, हम अनिवार्य रूप से एक आरक्षित कुंजी नाम अनिवार्य है कि कोई संसाधन फ़ाइलों कुंजी ResxFileMetadata उपयोग करने के लिए अनुमति दी गई थी द्वारा बनाई गई। फिर resx फ़ाइलों में जो मेटाडेटा की आवश्यकता होती है हमने ResxFileMetadata नाम के साथ संसाधन जोड़ा और कोई मान नहीं। टिप्पणी के अंदर वास्तविक मेटाडेटा JSON के रूप में संग्रहीत किया गया था।

हम आगे अनिवार्य है कि कोड को विशेष ResxFileMetadata संसाधनों को पढ़ने के लिए अनुमति कभी नहीं किया गया था। कार्य करता है जो फ़ाइलों resx से शब्दकोशों बनाई स्पष्ट ResxFileMetadata को छोड़ दिया। ये जनादेश मूल रूप से केवल आंतरिक दस्तावेज हैं, वे कोड द्वारा लागू नहीं हैं।

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