2009-02-23 5 views
5

मेरे पास एक .Net 2.0 C# एप्लिकेशन है जो कभी-कभी अपडेट हो जाता है और असेंबली संस्करण और फ़ाइल संस्करण बढ़ता जाता है। यह सब ठीक काम कर रहा है, लेकिन यह पृथक भंडारण में एक्सएमएल सेटिंग्स फ़ाइलों को संग्रहित भी करता है। (एक्सएमएल फाइलें DevExpress XtraGridView.SaveLayoutToXml())असेंबली को अपग्रेड करते समय, पृथक संग्रहण में फ़ाइलों को माइग्रेट करने का सबसे अच्छा तरीका क्या है?

क्या इन फ़ाइलों को पुराने फ़ोल्डर में पुराने फ़ोल्डर से नए फ़ोल्डर में कॉपी करने का कोई तरीका है। यानी Appname \ 1.0.0.0 से Appname \ 1.0.1.0

या क्या इन XML फ़ाइलों को संग्रहीत करने के लिए कोई बेहतर जगह है, जो ऐप का फ़ाइल संस्करण बदलते समय नहीं बदलेगा?

मैं इन फ़ाइलों को एप्लिकेशन के .exe फ़ोल्डर में संग्रहीत नहीं करना चाहता, क्योंकि ऐप को व्यवस्थापक विशेषाधिकारों के बिना Vista में उस फ़ोल्डर को लिखने की अनुमति नहीं है।

उत्तर

2

यदि आप क्लिकऑन का उपयोग कर रहे हैं, तो आप application-scoped isolated storage का उपयोग कर सकते हैं।

यदि आपClickOnce का उपयोग नहीं कर रहे हैं, तो आप अपने आवेदन को strong name देकर एक ही प्रभाव प्राप्त कर सकते हैं। एक मजबूत नाम असेंबली में सार्वजनिक कुंजी टोकन और डिजिटल हस्ताक्षर जोड़कर आपकी असेंबली की पहचान की विशिष्टता की गारंटी देता है।

+0

मैं क्लिकऑन का उपयोग नहीं कर रहा हूं। मैंने आपके द्वारा प्रदान किए गए दूसरे लिंक में पढ़ा है कि एक मजबूत नाम के साथ आपकी मुख्य .exe असेंबली पर हस्ताक्षर करने की अनुशंसा नहीं की जाती है। मैंने सेटिंग फ़ाइल में एक स्ट्रिंग के रूप में एक्सएमएल को संग्रहित करना समाप्त किया, जो एक संस्करण अपग्रेड के साथ अपग्रेड (कोड की कुछ पंक्तियों के साथ) करता है – csjohnst

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