আপনি কি দয়া করে ব্যাখ্যা করতে পারবেন সি # বা .নেট এ্যাসেম্বলি কি?
- এটি কোথা থেকে শুরু হয় এবং কোথায় শেষ হয়?
- সমাবেশগুলি সম্পর্কে আমার কী গুরুত্বপূর্ণ তথ্য জানা উচিত?
আপনি কি দয়া করে ব্যাখ্যা করতে পারবেন সি # বা .নেট এ্যাসেম্বলি কি?
উত্তর:
কোনও অ্যাসেমব্লি হ'ল আপনার কোডের সংকলিত আউটপুট, সাধারণত একটি ডিএলএল, তবে আপনার EXE একটি সমাবেশও হয়। এটি কোনও নেট প্রকল্পের জন্য স্থাপনার সবচেয়ে ছোট একক।
অ্যাসেমব্লিতে সাধারণত এমএসআইএল (মাইক্রোসফ্ট ইন্টারমিডিয়েট ল্যাঙ্গুয়েজ) এর নেট কোড থাকে যা নেটিভ কোডে সংকলিত হবে ("JITted" - জাস্ট-ইন-টাইম সংকলক দ্বারা সংকলিত) প্রথমবার কোনও প্রদত্ত মেশিনে কার্যকর করা হবে। এই সংকলিত কোডটি সমাবেশেও সংরক্ষণ করা হবে এবং পরবর্তী কলগুলিতে পুনরায় ব্যবহার করা হবে।
সমাবেশে আইকন, বিটম্যাপস, স্ট্রিং টেবিল ইত্যাদির মতো সংস্থান থাকতে পারে। তদ্ব্যতীত, সমাবেশে অ্যাসেমব্লি ম্যানিফেস্টে মেটাডেটাও রয়েছে - সংস্করণ নম্বর, শক্ত নাম, সংস্কৃতি, রেফারেন্সড অ্যাসেমব্লিসি ইত্যাদি।
আপনার 99% ক্ষেত্রে, একটি অ্যাসেমব্লি ডিস্কের একটি ফিজিকাল ফাইলের সমান হয় - একটি বহু-ফাইল অ্যাসেমব্লির ক্ষেত্রে (একটি সমাবেশ, একটি ফাইলের চেয়ে বেশি জুড়ে বিতরণ করা হয়) এটির চেয়ে বরং বেদ-বল প্রান্তের কেস বলে মনে হয় নেট। বিকাশের আমার 5+ বছরের মধ্যে এখনও কখনও মুখোমুখি হয়নি।
একটি মাল্টিফাইলে সমাবেশে একটি ডিএলএল বা এক্সইএ এবং এমএসআইএল কোডে একাধিক নেটমডিউল ফাইলগুলিতে কেবলমাত্র একটি বিধানসভা প্রকাশ হতে পারে।
মাইক্রোসফ্ট .NET ফ্রেমওয়ার্কে একটি অ্যাসেমব্লিশি মোতায়েন, সংস্করণ এবং সুরক্ষার জন্য আংশিকভাবে সংকলিত কোড লাইব্রেরি।
http://www.codeguru.com / কলামগুলি / শ্যাশ_প্লেয়ারিং / পার্টিকেল.এফপি /c5845
অ্যাসেম্বলি হ'ল এমন একটি ফাইল যা প্রতিটি। নেট অ্যাপ্লিকেশন সফল সংকলনের পরে সংকলক দ্বারা স্বয়ংক্রিয়ভাবে উত্পন্ন হয়। এটি ডায়নামিক লিংক লাইব্রেরি বা এক্সিকিউটেবল ফাইল হতে পারে। এটি কেবল একবারই একটি অ্যাপ্লিকেশনের জন্য উত্পন্ন হয় এবং প্রতিটি সংকলনের পরে সমাবেশটি আপডেট হয়।
নেট নেট অ্যাসেমব্লিশগুলি তৈরি করার আরও একটি ব্যাখ্যা এখানে দেওয়া হয়েছে , একটি মিনি-কোট:
.NET ফ্রেমওয়ার্কটিতে মডিউল, অ্যাসেমব্লিগুলির ধারণাগুলি সমন্বিত থাকে যা মেটাডেটা এবং ম্যানিফেস্ট উভয় তথ্য সঞ্চয় করে। একটি সমাবেশে একাধিক মডিউল থাকতে পারে। ভিজ্যুয়াল সি # কেবলমাত্র একটি মডিউল তৈরি করে যা সি # সংকলক (সিএসসি.এক্সি) দ্বারা একটি অ্যাসেমব্লিতে রূপান্তরিত হয়, তবে একটি অ্যাসেম্বলি অনেকগুলি নেট মডিউলকে সমাবেশ লিঙ্কার (al.exe) কমান্ড-লাইন সরঞ্জামের সাথে সংযুক্ত করতে পারে। উদাহরণস্বরূপ আপনার প্রতিটি সোর্স কোড .cs ফাইলগুলি একটি মডিউলে সংকলিত হয়ে সমাবেশ গঠনের জন্য একত্রে সংযুক্ত হতে পারে - একটি অ্যাসেম্বলি কেবল মডিউল এবং সংস্থানগুলির সংগ্রহ collection এই মডিউলগুলির মধ্যে একটি; সমাবেশটি সিএলআর দ্বারা বোঝার জন্য অবশ্যই ম্যানিফেস্ট মেটাডেটা (নীচে দেখুন) থাকতে হবে।
....
VS.NET এর মধ্যে একটি নতুন .exe বা .dll তৈরি করার পরে আপনি দেখতে পাবেন যে আপনার ফাইলটি আপনার বিন ফোল্ডারের ভিতরে উপস্থিত রয়েছে। এটিকে নোটপ্যাডে খোলার ফলে গীব্রিশ বা ফাইলের কাঠামো না জেনে কোনও হেক্সাডেসিমাল সম্পাদকের অভ্যন্তরে ilasm.exe বা সিএফএফ এক্সপ্লোরার এর মতো একটি সরঞ্জাম প্রয়োজন যা তা বোঝাতে পারে। সমাবেশের কাঠামোটি নিম্নরূপ:পিই শিরোনাম
সিএলআর শিরোনাম
সিএলআর মেটাডেটা
সিএলআর
আইএল কোড
নেটিভ ডেটা
উত্তরটি অবিলম্বে উপলব্ধি করার জন্য রয়েছে।
সোজা কথায় বলতে গেলে এটি আপনার ক্লাস এবং অতিরিক্ত ফাইল যুক্ত করে সংকলিত প্রকল্প is যে, একটি সমাধান প্রতিটি প্রকল্পের সমাবেশ হয় ।
বা আরও প্রযুক্তিগতভাবে,
একটি সমাবেশ যেখানে একটি টাইপ flesystem সঞ্চিত হয়। সমাবেশগুলি কোড মোতায়েন করার একটি প্রক্রিয়া। উদাহরণস্বরূপ,
System.Data.dll
সমাবেশে ডেটা পরিচালনা করার জন্য বিভিন্ন ধরণের রয়েছে contains অন্যান্য সমাবেশগুলিতে প্রকারগুলি ব্যবহার করতে, তাদের অবশ্যই রেফারেন্স করা উচিত be - উত্স
আমরা এটি কীভাবে জানি? সমাধানের অধীনে যদি আপনি কোনও প্রকল্পের বৈশিষ্ট্যগুলি এক নজরে দেখে থাকেন তবে নীচের চিত্রগুলি দেখতে পারেন।
আপনি যখন প্রকল্পটি সংকলন করেন, তখন এটি ডিএলএল বা EXE এ পরিণত হয় ।
ভাষা সংকলক দ্বারা যখন একটি উত্স কোড সংকলিত হয় তখন এটি একটি পরিচালিত সমাবেশ এবং এমএসআইএল (মিস্রোসফ্ট ইন্টারমিডিয়েট ল্যাঙ্গুয়েজ) জেনারেট করে । এই সমাবেশে .dll বা .exe ফাইল রয়েছে । অ্যাসেমব্লি দুটি প্রাইভেট এসেম্বলি এবং শেয়ার্ড অ্যাসেমব্লির হতে পারে , শেয়ার্ড অ্যাসেমব্লিটি জিএসি (গ্লোবাল অ্যাসেম্বলি ক্যাশে) এ সংরক্ষণ করা হয় যাতে কোনও অ্যাপ্লিকেশন এটি উল্লেখ করতে পারে যখন প্রাইভেট এসেম্বলি অ্যাপ্লিকেশন ফোল্ডারে সংরক্ষণ করা হয় যা কেবলমাত্র একটি অ্যাপ্লিকেশন ব্যবহার করতে পারে।
আপনার প্রোগ্রামের উত্স কোড লেখার পরে (প্রকল্প) তারপরে একটি ফাইল তৈরি করা হবে যা ডিএলএল বা এএসইই হতে পারে আপনার প্রকল্পের উপর নির্ভর করে। এটি একটিমাত্র প্রকল্পের জন্য একবার করে। এর দুটি প্রকার 1: - একক 2: - ভাগ করা বা মাল্টিগ্রাম একক সমাবেশ কেবলমাত্র একটি প্রোগ্রামে ব্যবহৃত হয় যখন ভাগ করা মাল্টিগ্রামের জন্য ব্যবহৃত হতে পারে