2010-02-04 8 views
22

मेरे पास Resources.resx है, जिसका उपयोग resource.designer.cs उत्पन्न करने के लिए किया जाता है। क्या संसाधन.designer.cs को चेक किया जाना चाहिए, या क्या मैं आवश्यक होने पर इसे उत्पन्न करने वाले विजुअल स्टूडियो पर भरोसा कर सकता हूं?संसाधन होना चाहिए। डिज़ाइनर सी स्रोत नियंत्रण में हो?

+7

[माइक्रोसॉफ्ट का कहना है] (http://connect.microsoft.com/VisualStudio/feedback/details/285765/resources-designer-cs-doesnt-automatically-get-rebuilt-despite-it-being-an-auto- जेनरेट-फाइल) "कस्टम टूल्स डिज़ाइन-टाइम पर चलते हैं, न कि बिल्ड-टाइम पर, और इसलिए निर्भर फ़ाइल को स्रोत नियंत्रण में चेक करने की आवश्यकता होती है।" –

उत्तर

11

मेरी प्राथमिकता है:।। यदि यह निर्माण प्रणाली के द्वारा संशोधित किया गया है, यह सुनिश्चित निर्माण प्रक्रिया यह पैदा करेगा और में यह जांच नहीं करते

'डिजाइनर' की तरह स्वत: जनरेट की फ़ाइलों के लिए, मैं में उन्हें जाँच वे केवल जब अन्य घटक बदल जाते हैं (मेरे द्वारा) संशोधित हो जाते हैं। यह वीएस द्वारा उत्पन्न होता है और बिल्ड सिस्टम द्वारा संशोधित नहीं किया जाता है।

1

मैं इस फ़ाइल के चारों ओर निर्माण परिदृश्यों के बारे में 100% निश्चित नहीं हूं। मुझे लगता है कि यह संभवतः स्टूडियो, या अधिक उपयुक्त एमएसबिल्ड है, हर बार जब आप अपना आवेदन बनाते हैं तो फ़ाइल को पुन: उत्पन्न करेंगे लेकिन सुनिश्चित नहीं है।

किसी भी तरह से, मैं अभी भी इस फ़ाइल में कारणों

  1. यह दृश्य स्टूडियो में सबसे स्रोत नियंत्रण प्रदाताओं के लिए डिफ़ॉल्ट है के एक जोड़े के लिए जाँच करेगा। उन्होंने इस समस्या के बारे में बहुत कठिन विचार किया है और मेरे पास
  2. डिबगिंग करने के अच्छे कारण हैं: यह संभावना नहीं है कि संसाधन में कोई समस्या होगी। डिज़ाइनर सीएस लेकिन यदि आपको मजबूर किया गया था इससे पहले कि आप
  3. स्रोत नियंत्रण संलग्न/डिबग कर सकें, स्रोत नियंत्रण आपके स्रोतों का इतिहास होना चाहिए। यदि आप अपने आवेदन से संबंधित सभी स्रोतों को नहीं देख पा रहे हैं तो यह कितना अच्छा है।

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

+0

बिंदु 1 पर, यह मामला हो सकता है लेकिन Xamarin टीम ने खुद को अपने गिटहब परियोजनाओं में अनदेखा कर दिया है, इसलिए मुझे लगता है कि यह तर्क का सिर्फ एक पक्ष है। –

6

जा रहा है। यही वह है जो मैंने पाया है जो आपकी मदद कर सकता है ...

मैं एक साधारण स्ट्रिंग संसाधन फ़ाइल बना रहा हूं। मैं फिर एक संशोधित कोडप्रोजेक्ट प्रोग्राम का उपयोग करता हूं जो इसे विदेशी भाषाओं में अनुवाद करता है। (कोड को स्थिर करने के बाद हम पेशेवर सेवाओं का उपयोग करेंगे) उपयोगिता designer.cs फ़ाइलों को नहीं बनाती है। को पुनर्निर्माण करना सभी फ़ाइलों को फिर से नहीं बनाया गया था। ऐसा लगता है कि किसी भी समय जब आप एक resx फ़ाइल को संशोधित करने के लिए बाहरी उपकरण (विजुअल स्टूडियो डिजाइनर नहीं) का उपयोग करते हैं, तो आप उन सिंक किए गए परिवर्तनों को खो देंगे। मेरे मामले में डिजाइनर फ़ाइल का उपयोग केवल संपत्ति नामों के तारों को दृढ़ता से टाइप करने के लिए किया जाता है। यदि आप स्ट्रिंग (उम्र पुरानी विधि) खींचने के लिए आईडी का उपयोग कर रहे हैं तो आपको इन फ़ाइलों की बिल्कुल आवश्यकता नहीं होगी और इस प्रकार उन्हें स्रोत नियंत्रण में जांचने की आवश्यकता नहीं होगी। हालांकि, यदि आप इन स्ट्रिंग (अधिक आधुनिक विधि) के लिए दृढ़ता से टाइप की गई पहुंच का उपयोग कर रहे हैं तो आपको इन्हें जांचना चाहिए।

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

धन्यवाद।

+7

हैलो डेनिस। आप ResX कोड जेनरेटर मैन्युअल रूप से चला सकते हैं resx-file पर राइट-क्लिक करके और "कस्टम टूल चलाएं" चुनकर। – theDmi

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