2013-06-23 8 views
6

मैं अपनी एप्लिकेशन सेटिंग्स को स्टोर करने के लिए पृथक स्टोरेजफाइल.गेटमैचिनस्टोरफोरएस्प्लर() विधि के माध्यम से पृथक संग्रहण का उपयोग कर रहा हूं।कोड साइनिंग ब्रेक पृथक संग्रहण

मेरे आवेदन को पहले से ही तैनात करने के बाद, मैंने अपने सॉफ़्टवेयर पर हस्ताक्षर करने के लिए एक डिजिटल प्रमाणपत्र खरीदा। हालांकि, प्रमाणपत्र के साथ नया संस्करण पुरानी सेटिंग्स फ़ाइल नहीं पढ़ सकता है। संभवतः ऐसा इसलिए है क्योंकि हस्ताक्षर ने आवेदन पहचान बदल दी है।

पुरानी संस्करण (जिसे हस्ताक्षरित किया गया था) से लिखी गई पुरानी सेटिंग्स का उपयोग कैसे कर सकता हूं? क्या पुरानी पहचान में गुजरकर पुरानी असेंबली की मशीन स्टोर को किसी भी तरह से प्राप्त करना संभव है?

उत्तर

0

मशीन स्टोर की पहचान पहचान द्वारा की गई है, न केवल नाम
आपके कोड पर हस्ताक्षर करने के बाद आपका सार्वजनिक KeyToken अलग होगा।

संदर्भ:
http://msdn.microsoft.com/en-US/library/system.io.isolatedstorage.isolatedstoragefile.getmachinestoreforassembly(v=vs.80).aspx http://msdn.microsoft.com/en-us/library/b0yt6ck0.aspx

  • संपादित करें -
    यह अलग भंडारण के नीचे पक्षों से एक है। मैं इसे स्थायी सेटिंग्स के लिए उपयोग नहीं करता, जिसे आवश्यक होने पर पुन: प्रस्तुत नहीं किया जा सकता है। लंबी अवधि के भंडारण के लिए मैं अपने ऐप के लिए एप्लिकेशनडाटा फ़ोल्डर Environment.GetFolderPath(ApplicationData) के तहत एक फ़ोल्डर बनाता हूं और वहां अपनी फाइलें संग्रहीत करता हूं।

कहा जा रहा है, मैं this लेख है कि कभी कभी फ़ोल्डर का पता करने के लिए इस्तेमाल किया जा सकता है, अगर आप किसी फ़ाइल का नाम पता नहीं मिला।

+0

यह ऐसी कोई भी जानकारी प्रदान नहीं करता है जो पहले से ही प्रश्न में नहीं है, और यह "पुरानी सेटिंग्स तक कैसे पहुंच सकता है?" प्रश्न का उत्तर नहीं देता है। यह * एक टिप्पणी के रूप में अच्छा हो सकता है, लेकिन -1 उत्तर के रूप में। –

+0

बेन, उन्होंने जवाब संपादित किया, और अब यह सवाल का जवाब देता है। लिंक किए गए आलेख का समाधान यह है कि यदि आप फ़ाइल का नाम जानते हैं (मैं करता हूं), तो आप वर्तमान असेंबली के लिए अलग भंडारण का स्थान प्राप्त कर सकते हैं। उस से, आप अनुमान लगाते हैं कि सभी असेंबली के लिए अलग भंडारण होना चाहिए और फ़ाइल को सही नाम से देखना चाहिए। यह एक हैक की तरह लगता है, लेकिन मुझे लगता है कि यह ज्यादातर परिस्थितियों में काम करेगा। शायद कोई बेहतर समाधान जानता है, यद्यपि? – LTR

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