বাঁধাই পুনঃনির্দেশ কেন প্রয়োজন হয়? ধরুন আপনার কাছে অ্যাপ্লিকেশন এ রয়েছে যা গ্রন্থাগার বি'র উল্লেখ করেছে এবং সংস্করণ 1.1.2.5 এর লাইব্রেরি সি। পরিবর্তে লাইব্রেরি বি এছাড়াও গ্রন্থাগার সি উল্লেখ করে, তবে সংস্করণ 1.1.1.0। এখন আমাদের একটি বিরোধ আছে, কারণ আপনি রানটাইমে একই অ্যাসেমব্লির বিভিন্ন সংস্করণ লোড করতে পারবেন না। এই দ্বন্দ্বের সমাধান করার জন্য আপনি সাধারণত নতুন সংস্করণে বাঁধাই পুনঃনির্দেশ ব্যবহার করতে পারেন (তবে এটি পুরানোও হতে পারে)। যা তুমি কর আবেদন A -এর app.config ফাইলের মধ্যে নিম্নলিখিত যুক্ত করে, অধীন configuration > runtime > assemblyBinding
অধ্যায় (দেখুন এখানে পূর্ণ কনফিগ ফাইলের একটি উদাহরণ জন্য):
<dependentAssembly>
<assemblyIdentity name="C"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<bindingRedirect oldVersion="1.1.1.0" newVersion="1.1.2.5" />
</dependentAssembly>
আপনি মানচিত্রের জন্য বিভিন্ন সংস্করণও নির্দিষ্ট করতে পারেন:
<bindingRedirect oldVersion="0.0.0.0-1.1.1.0" newVersion="1.1.2.5" />
এখন লাইব্রেরি বি, যা সংস্করণ ১.১.১.০ এর সি এর সাথে সংকলিত হয়েছিল, রানটাইমে 1.1.2.5 সংস্করণের সি ব্যবহার করবে। অবশ্যই, আপনি আরও নিশ্চিত করে নিন যে লাইব্রেরি সি পিছনের দিকে সামঞ্জস্যপূর্ণ বা এটি অপ্রত্যাশিত ফলাফলের দিকে নিয়ে যেতে পারে।
আপনি লাইব্রেরির কোনও সংস্করণ পুনর্নির্দেশ করতে পারেন, কেবল প্রধান নয় major
oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"