ভবিষ্যতে যখন আমার এই সমস্যা হয় তখন আমি এই উদ্ধৃত পাঠ্যটিকে একটি রেফারেন্স হিসাবে যুক্ত করতে চেয়েছিলাম। সম্ভবত আপনি আপগ্রেড কল করে পূর্ববর্তী সংস্করণ থেকে সেটিংস অনুলিপি করতে অ্যাপ্লিকেশনসটিংয়ের অবকাঠামোকে নির্দেশ দিতে পারেন :
Properties.Settings.Value.Upgrade();
থেকে ক্লায়েন্ট সেটিং প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী ব্লগ পোস্টে: ( সংরক্ষণাগার )
প্রশ্ন: ইউজার.কমফাইগ পাথটিতে কেন একটি সংস্করণ নম্বর রয়েছে? আমি যদি আমার অ্যাপ্লিকেশনটির নতুন সংস্করণ স্থাপন করি তবে ব্যবহারকারী কি পূর্ববর্তী সংস্করণে সংরক্ষিত সমস্ত সেটিংস হারাবেন না?
উত্তর: ইউজার.কমফিগ পাথ সংস্করণ সংবেদনশীল হওয়ার কয়েকটি কারণ রয়েছে।
(1) কোনও অ্যাপ্লিকেশনের বিভিন্ন সংস্করণের পাশাপাশি পাশাপাশি স্থাপনাকে সমর্থন করার জন্য (উদাহরণস্বরূপ আপনি ক্লিকোনস দিয়ে এটি করতে পারেন)। অ্যাপ্লিকেশনটির বিভিন্ন সংস্করণের পক্ষে বিভিন্ন সেটিংস সংরক্ষণ করা সম্ভব।
(২) আপনি যখন কোনও অ্যাপ্লিকেশন আপগ্রেড করবেন, সেটিংস শ্রেণিটি পরিবর্তিত হয়ে থাকতে পারে এবং যা সংরক্ষণ করা হয়েছে তার সাথে সামঞ্জস্য নাও করতে পারে, যা সমস্যার সৃষ্টি করতে পারে।
তবে আমরা অ্যাপ্লিকেশনটির পূর্ববর্তী সংস্করণ থেকে সর্বশেষে সেটিংস আপগ্রেড করা সহজ করে দিয়েছি। কেবল অ্যাপ্লিকেশনসেটিংসবেস.অপগ্রেড () কল করুন
এবং এটি পূর্ববর্তী সংস্করণ থেকে সেটিংস পুনরুদ্ধার করবে যা শ্রেণীর বর্তমান সংস্করণটির সাথে মেলে এবং সেগুলি বর্তমান সংস্করণটির ব্যবহারকারীকনফাইগ ফাইলে সংরক্ষণ করবে। আপনার সেটিংস শ্রেণিতে বা আপনার সরবরাহকারীর বাস্তবায়নে এই আচরণকে ওভাররাইড করার বিকল্পও রয়েছে।
প্রশ্ন: ঠিক আছে, তবে আমি কীভাবে জানব কখন আপগ্রেড কল করতে হবে?
উত্তর: ভাল প্রশ্ন। ক্লিকোনসে, আপনি যখন আপনার অ্যাপ্লিকেশনটির একটি নতুন সংস্করণ ইনস্টল করবেন, অ্যাপ্লিকেশনসেটিংসবেস এটি সনাক্ত করবে এবং পয়েন্ট সেটিংসে স্বয়ংক্রিয়ভাবে আপনার জন্য সেটিংস আপগ্রেড হবে। অ-ক্লিকনস ক্ষেত্রে, কোনও স্বয়ংক্রিয় আপগ্রেড নেই - আপনাকে নিজেরাই আপগ্রেড করতে হবে। আপগ্রেড কখন কল করতে হবে তা নির্ধারণের জন্য এখানে একটি ধারণা রয়েছে:
কলআপডগ্রেড নামে একটি বুলিয়ান সেটিংস রাখুন এবং এটিকে সত্যের একটি ডিফল্ট মান দিন। আপনার অ্যাপ্লিকেশনটি শুরু হয়ে গেলে আপনি এর মতো কিছু করতে পারেন:
if (Properties.Settings.Value.CallUpgrade)
{
Properties.Settings.Value.Upgrade();
Properties.Settings.Value.CallUpgrade = false;
}
এটি নিশ্চিত করবে যে নতুন সংস্করণ স্থাপনের পরে অ্যাপ্লিকেশনটি প্রথমবারের মতো আপগ্রেড () বলা হবে।
আমি বিশ্বাস করি না যে এটি আসলে কাজ করতে পারে - এটি কোনও উপায় নেই যে মাইক্রোসফ্ট এই ক্ষমতাটি সরবরাহ করবে, তবে পদ্ধতিটিও সেখানে একই।