উত্তর:
প্রথমে আপনার সমাবেশকে শক্তিশালী নামকরণের সুবিধাগুলি তালিকাভুক্ত করুন:
আপনার সমাবেশকে শক্তিশালী নামকরণ আপনাকে আপনার সমাবেশকে গ্লোবাল অ্যাসেম্বলি ক্যাশে (জিএসি) এ অন্তর্ভুক্ত করতে দেয় । সুতরাং এটি আপনাকে একাধিক অ্যাপ্লিকেশনগুলির মধ্যে ভাগ করতে দেয়।
শক্ত নামকরণ সেই সমাবেশের জন্য একটি অনন্য নামের গ্যারান্টি দেয়। সুতরাং অন্য কেউ একই সমাবেশ নাম ব্যবহার করতে পারবেন না।
শক্ত নাম একটি সমাবেশের সংস্করণ বংশ রক্ষা করে। একটি শক্তিশালী নাম নিশ্চিত করতে পারে যে কেউ আপনার সমাবেশের পরবর্তী সংস্করণ তৈরি করতে সক্ষম নয়। অ্যাপ্লিকেশন ব্যবহারকারীরা নিশ্চিত হয়ে থাকে যে তারা যে সমাবেশটি লোড করছে তার একটি সংস্করণ একই প্রকাশক এসেছিল যা অ্যাপ্লিকেশনটি তৈরি করে তৈরি করা সংস্করণ তৈরি করেছিল।
মাইক্রোসফ্ট থেকে শক্তিশালী নামকরণের বিষয়ে আরও রয়েছে স্ট্রং-নেমড অ্যাসেমব্লিসি ( এমএসডিএন )।
সাধারণ সমাবেশ দিয়ে কী করা যায় না?
যেহেতু নুগেটের উত্থানের সাথে শুরু হওয়া সমস্ত আলোচনাগুলি দৃ named় নামধারী অ্যাসেম্বলিগুলি সম্পূর্ণরূপে মুক্তি পাওয়ার পরামর্শ দিয়েছিল আমার সংস্থা এটি চেষ্টা করেছিল এবং যখন অ্যাপ্লিকেশন সেটিংসের বিষয়টি আসে তখন আচরণের একটি উল্লেখযোগ্য পরিবর্তন ঘটে:
আপনি যদি ভিজ্যুয়ালস্টুডিও দ্বারা সরবরাহিত স্বয়ংক্রিয় অ্যাপ্লিকেশন বা ব্যবহারকারীর স্কোপযুক্ত অ্যাপ্লিকেশন সেটিংস ব্যবহার করেন (উত্তরাধিকারসূত্রে সিস্টেম। কনফিগারেশন.এপ্লিকেশনসেটিংসবেস) তবে একটি শক্তিশালী নামযুক্ত EXE% LOCALAPPDATA% এর ভিতরে ঠিক 1 ডিরেক্টরি তৈরি করবে উদাহরণস্বরূপ "আপনার অ্যাপ্লিকেশন.এক্সটি_স্রটং নাম_কিজেএসডিফিজআইটিজফিজআইডিফিজিআইফিজিআইফিজিআইডিফিজিআইডি অবস্থিত।
তবে দৃ name় নাম ব্যতীত EXE এর অবস্থান (= পথ) একটি হ্যাশ মান তৈরি করতে ব্যবহৃত হবে যা ইতিমধ্যে DEBUG এবং RELEASE বিল্ডের মধ্যে পার্থক্য করে, "আপনার অ্যাপ্লিকেশন.এক্সে_উড়ল_ডেফগ 8778d6fs7g6d7f8g69sdf" এর মতো অনেকগুলি ডিরেক্টরি তৈরি করে। এটি ক্লিকঅনস মোতায়েনের জন্য অকার্যকর করে তোলে যেখানে প্রতিটি আপডেটের সাথে ইনস্টলেশন ডিরেক্টরি পরিবর্তন হয়।
আমি যুক্ত করতে চাই যে কোনও শক্ত নাম ছাড়া আপনি কনফিগার ফাইলগুলিতে বাইন্ডিং পুনঃনির্দেশগুলি ব্যবহার করতে পারবেন না।
এটি কাজ করবে না:
<dependentAssembly>
<assemblyIdentity name="MyAssembly.MyComponent" publicKeyToken="null" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
আপনার একটি সার্বজনীন কী টোকেন থাকা দরকার
<dependentAssembly>
<assemblyIdentity name="MyAssembly.MyComponent" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
শুধু একটি উদাহরণ: আমি একজন উত্তরে বেশি জোর করছেন দিতে চাই নিরাপত্তা । ক্ষেত্রে আমরা একটি সোর্স কোড সহ অ্যাসেমব্লি তৈরি করি যা আমরা তৃতীয় পক্ষের জন্য পুনরায় ব্যবহার করতে চাই না তবে আমরা এটি পরীক্ষাযোগ্য হতে চাই, আমরা একটি অ্যাসেম্বলিতে স্বাক্ষর করতে পারি এবং কেবলমাত্র সেই সমাবেশগুলির জন্য অভ্যন্তরীণ দৃশ্যমান করতে পারি একই স্বাক্ষর।