c# নেট এসেম্বলি কি?



.net (15)

নেট এসেম্বলি কি? আমি নেট উপর ব্রাউজ এবং আমি সংজ্ঞা বুঝতে সক্ষম নই।


this দেখুন:

মাইক্রোসফ্ট। নেট ফ্রেমওয়ার্কে, একটি সমাবেশ আংশিকভাবে সংকলিত কোড লাইব্রেরি স্থাপনের জন্য, সংস্করণ এবং নিরাপত্তা ব্যবহারের জন্য


সমাবেশটি সংস্করণ নিরাপত্তা, ক্ষুদ্রীকরণ এবং Microsoft.Net কোডের পুনঃব্যবহারযোগ্যতার ক্ষুদ্রতম একক।

এতে রয়েছে:

- Assembly Identity
- Manifest
- Metadata
- MSIL Code
- Security Information
- Assembly Header

অ্যাসেম্বলি একটি। নেট অ্যাপ্লিকেশন স্থাপনের ক্ষুদ্রতম ইউনিট। এটি একটি ডিল বা একটি exe হতে পারে।
এটি প্রধানত দুটি ধরনের আছে:

  1. ব্যক্তিগত পরিষদ: ডিল বা এক্সই যা শুধুমাত্র একটি অ্যাপ্লিকেশনের একমাত্র সম্পত্তি। এটি সাধারণত অ্যাপ্লিকেশন রুট ফোল্ডারে সংরক্ষিত হয়

  2. সর্বজনীন / ভাগ করা সমাবেশ: এটি একটি ডিল যা এক সময়ে একাধিক অ্যাপ্লিকেশন দ্বারা ব্যবহার করা যেতে পারে। একটি ভাগ করা সমাবেশ GAC অর্থাত গ্লোবাল অ্যাসেম্বলি ক্যাশে সংরক্ষিত হয়।

কঠিন শব্দ? Naa থেকে ....
জিএসিটি কেবলমাত্র সি: \ উইন্ডোজ \ অ্যাসেম্বলি ফোল্ডার যেখানে আপনি আপনার পিসিতে ইনস্টল করা সকল সফটওয়ারগুলির পাবলিক অ্যাসেম্বলি / ডিলগুলি খুঁজে পেতে পারেন।

একটি সমাবেশের একটি তৃতীয় এবং কম পরিচিত ধরনের আছে: উপগ্রহ সমাবেশ
একটি স্যাটেলাইট অ্যাসেম্বলে শুধুমাত্র স্ট্যাটিক অবজেক্টগুলি রয়েছে যেমন অ্যাপ্লিকেশন দ্বারা চিত্র এবং অন্যান্য অ-এক্সিকিউটেবল ফাইল।

এই পাঠকদের সাহায্য আশা করি!


নেটতে, যখন আমরা আমাদের সোর্স কোড কম্পাইল করি তখন ভিসুয়াল স্টুডিওতে সমাবেশ তৈরি হয়। পরিষদ দুটি অংশ ম্যানিফেস্ট এবং আইএল (মধ্যবর্তী ভাষা) গঠিত। ম্যানিফেস্টে সমাবেশ মেটাডেটা মানে সমাবেশের সংস্করণ প্রয়োজনীয়তা, সুরক্ষা পরিচয়, নাম এবং হ্যাশগুলি যে সমস্ত ফাইল তৈরি করে তা সমাবেশ করে। আইএল ক্লাস, কনস্ট্রাক্টর, প্রধান পদ্ধতি ইত্যাদি সম্পর্কে তথ্য রয়েছে।


আরও সহজ শর্তে: একটি চুক (প্রাক্কলিত) কোড যা .NET রানটাইম পরিবেশ দ্বারা কার্যকর করা যেতে পারে। একটি .নেট প্রোগ্রাম এক বা একাধিক সমাহার গঠিত।


অ্যাসেম্বলিজ

যখন আপনি একটি অ্যাপ্লিকেশন কম্পাইল করেন, MSIL কোড তৈরি একটি সমাবেশে সংরক্ষিত হয়। অ্যাসেম্বলিগুলিতে উভয় এক্সিকিউটেবল অ্যাপ্লিকেশন ফাইল রয়েছে যা আপনি উইন্ডোজ থেকে সরাসরি কোনও প্রোগ্রামগুলির (এইগুলির .exe ফাইল এক্সটেনশান আছে) প্রয়োজন নেই এবং লাইব্রেরিগুলি (যা .dll এক্সটেনশন আছে) অন্যান্য অ্যাপ্লিকেশনগুলির দ্বারা ব্যবহারের জন্য।

MSIL ধারণকারী ছাড়াও, সমাহারগুলিও মেটা তথ্য (অর্থাৎ, সমাবেশে থাকা তথ্য সম্পর্কিত তথ্য, মেটাডেটা নামেও পরিচিত) এবং ঐচ্ছিক সংস্থানগুলি (MSIL দ্বারা ব্যবহৃত অতিরিক্ত তথ্য যেমন শব্দ ফাইল এবং ছবি) অন্তর্ভুক্ত করে। মেটা তথ্য সমাহারগুলি সম্পূর্ণ স্ব-বর্ণনামূলক হতে সক্ষম করে। আপনি একটি সমাবেশ ব্যবহার করার জন্য অন্য কোনও তথ্য প্রয়োজন, অর্থাত্ সিস্টেম রেজিস্ট্রিতে প্রয়োজনীয় ডেটা যোগ করতে ব্যর্থ হওয়ার মতো পরিস্থিতিতে এড়ানোর অর্থ, যা অন্যান্য প্ল্যাটফর্মগুলির সাথে বিকাশের সময় প্রায়ই সমস্যা হয়।

এর মানে হল যে অ্যাপ্লিকেশনগুলি নিয়োজন করা সহজভাবে দূরবর্তী কম্পিউটারে কোনও ডিরেক্টরিতে ফাইল অনুলিপি করার মতো সহজ। যেহেতু লক্ষ্য সিস্টেমে কোন অতিরিক্ত তথ্য প্রয়োজন হয় না, তাই আপনি এই ডিরেক্টরী থেকে একটি এক্সিকিউটেবল ফাইল চালাতে পারেন এবং (নেট সিএলআর ইনস্টল করা অনুমান করা) আপনি যেতে ভাল আছেন।

অবশ্যই, আপনি এক জায়গায় অ্যাপ্লিকেশন চালানোর জন্য প্রয়োজনীয় সবকিছু অন্তর্ভুক্ত করতে চান না। আপনি কিছু কোড লিখতে পারেন যা একাধিক অ্যাপ্লিকেশন দ্বারা প্রয়োজনীয় কাজ সম্পাদন করে। এরকম পরিস্থিতিতে, পুনঃব্যবহারযোগ্য কোডটি সমস্ত অ্যাপ্লিকেশনগুলিতে অ্যাক্সেসযোগ্য স্থানে স্থানান্তরিত করা প্রায়শই দরকারী। .NET Framework এ গ্লোবাল অ্যাসেম্বলি ক্যাশে (GAC)। জিএসি কোড স্থাপন করা সহজ - আপনি শুধু এই ক্যাশে ধারণকারী ডিরেক্টরির মধ্যে কোড ধারণকারী সমাবেশ স্থাপন।


সমাবেশটি নেট ফ্রেমওয়ার্কের সাথে প্রোগ্রামিং এর মৌলিক অংশ। এটি এমন কোড ধারণ করে যা CLR নির্বাহ করে একটি পোর্টেবল এক্সিকিউটেবল ফাইলের মধ্যে MSIL (মাইক্রোসফ্ট ইন্টারমিডিয়েট ল্যাঙ্গুয়েজ) কোডটি কার্যকর করা হবে না যদি এটি একটি সংযুক্ত সমাবেশ ম্যানিফেস্ট না থাকে।


ভিজ্যুয়াল স্টুডিও সমাধান এক বা একাধিক প্রকল্প গঠিত। উদাহরণস্বরূপ: কনসোল প্রকল্প একটি সমাবেশ উত্পাদন করতে পারেন। একটি সমাবেশটি যৌক্তিকভাবে কোডের সংকীর্ণ হয় যা গ্রাহকদের কাছে পাঠানো যেতে পারে এবং শারীরিকভাবে .EXE (এক্সিকিউটেবল প্রোগ্রাম) বা ডিএলএল (অন্যান্য প্রোগ্রামগুলি দ্বারা পুনঃব্যবহারযোগ্য)।


একটি সমাবেশ আপনার হার্ড ড্রাইভে প্রকৃত। ডিল ফাইল যেখানে .NET ফ্রেমওয়ার্কের ক্লাস সংরক্ষণ করা হয়। উদাহরণস্বরূপ, ASP.NET ফ্রেমওয়ার্কে থাকা সমস্ত ক্লাস System.Web.dll নামের একটি অ্যাসেম্বনে অবস্থিত।

আরো সঠিকভাবে, একটি সমাবেশটি ডি.টি.ই. ফ্রেমওয়ার্কে স্থাপনার, সুরক্ষা এবং সংস্করণ নিয়ন্ত্রণের প্রাথমিক ইউনিট। একটি সমাবেশ একাধিক ফাইল বিস্তার করতে পারে, একটি সমাবেশ প্রায়ই একটি "যৌক্তিক" ডল হিসাবে উল্লেখ করা হয়।

বিঃদ্রঃ

.NET Framework (সংস্করণ 2.0) 51 টি অ্যাসেম্বলি রয়েছে।

দুটি ধরনের সমাহারগুলি রয়েছে: ব্যক্তিগত এবং ভাগ করা। একটি ব্যক্তিগত সমাবেশ শুধুমাত্র একটি একক অ্যাপ্লিকেশন দ্বারা ব্যবহার করা যেতে পারে। অন্যদিকে, একটি ভাগ করা সমাবেশটি একই সার্ভারে থাকা সমস্ত অ্যাপ্লিকেশনগুলির দ্বারা ব্যবহার করা যেতে পারে।

শেয়ার্ড অ্যাসেম্বলি গ্লোবাল অ্যাসেম্বলি ক্যাশে (GAC) অবস্থিত। উদাহরণস্বরূপ, System.Web.dll সমাবেশ এবং .NET ফ্রেমওয়ার্ক সহ অন্যান্য সমস্ত অ্যাসেম্বলি গ্লোবাল অ্যাসেম্বলি ক্যাশে অবস্থিত।

বিঃদ্রঃ

গ্লোবাল অ্যাসেম্বলি ক্যাশে আপনার কম্পিউটারের \ উইণ্ডো \ অ্যাসেম্বলি ফোল্ডারে শারীরিকভাবে অবস্থিত। আপনার \ উইণ্ডোগুলি \ Microsoft.NET \ Framework \ v2.0.50727 ফোল্ডারে প্রতিটি সমাবেশের একটি পৃথক অনুলিপি রয়েছে। সমাবেশের প্রথম সেট রানটাইম এ ব্যবহৃত হয় এবং দ্বিতীয় সেট কম্পাইল সময় ব্যবহার করা হয়।

আপনি আপনার অ্যাপ্লিকেশন একটি সমাবেশে অন্তর্ভুক্ত একটি ক্লাস ব্যবহার করার আগে, আপনি সমাবেশে একটি রেফারেন্স যোগ করা আবশ্যক। ডিফল্টরূপে, একটি ASP.NET অ্যাপ্লিকেশন গ্লোবাল অ্যাসেম্বলি ক্যাশে থাকা সর্বাধিক সাধারণ সমাহারগুলি উল্লেখ করে:

mscorlib.dll

System.dll

System.Configuration.dll

System.Web.dll

System.Data.dll

System.Web.Services.dll

System.Xml.dll

System.Drawing.dll

System.EnterpriseServices.dll

System.Web.Mobile.dll

.NET ফ্রেমওয়ার্কের যে কোনও নির্দিষ্ট বর্গ ব্যবহার করতে আপনাকে অবশ্যই দুটি জিনিস করতে হবে। প্রথমত, আপনার অ্যাপ্লিকেশনটি অবশ্যই ক্লাসে থাকা সমাবেশটি উল্লেখ করবে। দ্বিতীয়ত, আপনার অ্যাপ্লিকেশন অবশ্যই ক্লাসের সাথে সংশ্লিষ্ট নামস্থান আমদানি করতে হবে।

বেশিরভাগ ক্ষেত্রে, আপনি প্রয়োজনীয় সমাবেশটি উল্লেখ করার বিষয়ে চিন্তা করবেন না কারণ অধিকাংশ সাধারণ সমাহারগুলি স্বয়ংক্রিয়ভাবে উল্লেখ করা হয়। যাইহোক, যদি আপনি একটি বিশেষ সমাবেশ ব্যবহার করতে চান, আপনি সমাবেশে স্পষ্টভাবে একটি রেফারেন্স যোগ করার প্রয়োজন। উদাহরণস্বরূপ, যদি System.DirectoryServices নামস্থানগুলিতে ক্লাস ব্যবহার করে অ্যাক্টিভ ডিরেক্টরি দিয়ে আপনার সাথে যোগাযোগ করতে হয় তবে আপনার সিস্টেমটিতে System.DirectoryServices.dll সমাবেশের একটি রেফারেন্স যুক্ত করতে হবে।

.NET ফ্রেমওয়ার্ক এসডিকে ডকুমেন্টেশনের প্রতিটি ক্লাস এন্ট্রি ক্লাসের সাথে যুক্ত সমাবেশ এবং নামস্থান তালিকাবদ্ধ করে। উদাহরণস্বরূপ, যদি আপনি ডকুমেন্টেশনে MessageQueue ক্লাসটি সন্ধান করেন, তবে আপনি এটি দেখতে পাবেন যে এই ক্লাসটি সিস্টেমে অবস্থিত। System.Messaging.dll সমাবেশে অবস্থিত মেসেজিং নামস্থান।

আপনি যদি ভিজ্যুয়াল ওয়েব বিকাশকারী ব্যবহার করেন তবে আপনি মেনু বিকল্পটি ওয়েবসাইট, রেফারেন্স যুক্ত করুন এবং উল্লেখ করার জন্য যে সমাবেশটি প্রয়োজন তা নির্বাচন করে আপনি একটি সমাবেশের একটি উল্লেখ উল্লেখ করতে পারেন। উদাহরণস্বরূপ, System.Messaging.dll সমাবেশের একটি রেফারেন্স যুক্ত করে তালিকাটিতে ওয়েব কনফিগারেশন ফাইলের তালিকা 1.4 আপনার অ্যাপ্লিকেশনে যোগ করা হচ্ছে।

যেমন। Web.Config

enter code here

আপনি যদি ভিজ্যুয়াল ওয়েব বিকাশকারী ব্যবহার করতে না চান তবে আপনি উপরের উদাহরণে ফাইল তৈরি করে System.Messaging.dll সমাবেশে রেফারেন্স যুক্ত করতে পারেন।


একটি সমাবেশ একটি রানটাইম ইউনিট ধরনের এবং অন্যান্য সম্পদ গঠিত। একটি সমাবেশে সব ধরনের একই সংস্করণ নম্বর আছে।

প্রায়শই, এক সমাবেশে শুধুমাত্র একটি নামস্থান থাকে এবং এটি একটি প্রোগ্রাম দ্বারা ব্যবহৃত হয়। কিন্তু এটি বিভিন্ন namespaces উপর বিস্তার করতে পারেন। এছাড়াও, একটি নামস্থান বিভিন্ন সমাবেশে ছড়িয়ে দিতে পারে। বড় ডিজাইনগুলিতে, একটি সমাবেশে একাধিক ফাইল থাকতে পারে যা একটি ম্যানিফেস্ট (যেমন একটি টেবিলের বিষয়বস্তু) দ্বারা একত্রিত হয়।

সি #তে, একটি সমাবেশটি ন্যেট অ্যাপ্লিকেশনটির সর্বনিম্ন স্থাপনা। এটি একটি ডিল বা EXE হতে পারে। এটির দুটি প্রকার রয়েছে: 1. ব্যক্তিগত পরিষদ 2. জন / ভাগ করা সমাবেশ


উইকিপিডিয়া বলতে হবে:

মাইক্রোসফ্ট। নেট ফ্রেমওয়ার্কে, একটি সমাবেশ আংশিকভাবে সংকলিত কোড লাইব্রেরি স্থাপনের জন্য, সংস্করণ এবং নিরাপত্তা ব্যবহারের জন্য। দুটি ধরনের আছে: প্রক্রিয়া সমাহারগুলি (EXE) এবং লাইব্রেরী সমাহারগুলি (DLL)। একটি প্রক্রিয়া সমাবেশ একটি প্রক্রিয়া প্রতিনিধিত্ব করে যা লাইব্রেরি সমাহারগুলিতে সংজ্ঞায়িত ক্লাস ব্যবহার করবে। .NET সমাহারগুলির মধ্যে সিআইএল কোড থাকে, যা সাধারণত একটি সিএলআই ভাষা থেকে উত্পন্ন হয় এবং তারপর সিএলআর-র-সময়-সময়ের কম্পাইলার দ্বারা রানটাইম এ মেশিন ভাষাতে সংকলিত হয়। একটি সমাবেশ এক বা একাধিক ফাইল গঠিত হতে পারে। কোড ফাইল মডিউল বলা হয়। একটি সমাবেশে একাধিক কোড মডিউল থাকতে পারে এবং কোড মডিউল তৈরি করার জন্য বিভিন্ন ভাষা ব্যবহার করা সম্ভব হয়, তাই এটি একটি টেকনোলজি তৈরি করার জন্য বিভিন্ন ভাষা ব্যবহার করার পক্ষে টেকনিক্যালি সম্ভব। ভিসুয়াল স্টুডিও যদিও এক সমাবেশে বিভিন্ন ভাষা ব্যবহার করে সমর্থন করে না।

আপনি যদি সত্যিই ব্রাউজ করেন তবে বুঝতে পারছেন না যে আপনি কি বোঝেন তা স্পষ্ট করে দিবেন


ক্লাস, ইন্টারফেস, enum ইত্যাদি শারীরিক সংগ্রহ আইএল কোড যা। যা .EXE বা .DLL ফাইল হতে পারে .EXE এক্সিকিউটেবল ফাইল এবং ড। এল। এল। গতিশীলভাবে যেকোনো .net সমর্থিত ভাষাতে ব্যবহার করা যেতে পারে।


এমএসডিএন একটি ভাল ব্যাখ্যা আছে :

অ্যাসেম্বলিগুলি। নেট ফ্রেমওয়ার্ক অ্যাপ্লিকেশনগুলির বিল্ডিং ব্লক; তারা স্থাপনার মৌলিক ইউনিট, সংস্করণ নিয়ন্ত্রণ, পুনঃব্যবহার, অ্যাক্টিভেশন স্কোপিং এবং নিরাপত্তা অনুমতিগুলি গঠন করে। একটি সমাবেশ এক ধরনের কাজ এবং সংস্থানের সংগ্রহ যা একসাথে কাজ করার জন্য এবং কার্যকারিতার একটি যৌক্তিক ইউনিট গঠন করে। একটি সমাবেশ প্রচলিত ভাষা রানটাইম সরবরাহ করে যা এটি টাইপ বাস্তবায়নের সচেতন হতে পারে। রানটাইম করার জন্য, একটি প্রবিধানের প্রসঙ্গের বাইরে একটি ধরন বিদ্যমান নেই।


নেট, একটি সমাবেশ হতে পারে:

Types (or Classes) , Resources (Bitmaps/Images/Strings/Files) , Namespaces , Config Files Privately বা Publicly সংকলিত বিভিন্ন পরিচালনাযোগ্য অংশগুলির সংগ্রহ। একটি local বা Shared (GAC) ফোল্ডারে স্থাপন করা; অন্যান্য programs/assemblies দ্বারা discover-able এবং সক্ষম; সংস্করণ-এড হতে পারে।


গৃহীত উত্তর ছাড়াও, আমি আপনাকে একটি উদাহরণ দিতে চাই !

উদাহরণস্বরূপ, আমরা সব ব্যবহার

System.Console.WriteLine()

কিন্তু সিস্টেমের জন্য কোড কোথায়। Console.WriteLine !?
কোন কোডটি আসলে কনসোলে লেখা রাখে?

কনসোল বর্গের জন্য আপনি যদি ডকুমেন্টেশনটির প্রথম পৃষ্ঠায় দেখেন তবে আপনি নীচের শীর্ষের কাছাকাছি দেখতে পাবেন: অ্যাসেম্বলি: mscorlib (mscorlib.dll এ) এইটি নির্দেশ করে যে কনসোল ক্লাসের কোডটি একটি অ্যাসেম-ব্লিতে অবস্থিত নামকরণ করা mscorlib। একটি সমাবেশ একাধিক ফাইল গঠিত হতে পারে, কিন্তু এই ক্ষেত্রে এটি শুধুমাত্র একটি ফাইল, যা গতিশীল লিঙ্ক লাইব্রেরি mscorlib.dll হয়।

.NET তে mscorlib.dll ফাইলটি খুবই গুরুত্বপূর্ণ, এটি .NET- র ক্লাস লাইব্রেরির প্রধান DLL এবং এতে সমস্ত প্রাথমিক .NET ক্লাস এবং স্ট্রাকচার রয়েছে।

যদি আপনি C বা C ++ জানেন, সাধারণত আপনার শীর্ষস্থানে একটি # অন্তর্ভুক্ত নির্দেশিকা প্রয়োজন যা একটি হেডার ফাইল উল্লেখ করে। অন্তর্ভুক্ত ফাইল কম্পাইলার ফাংশন প্রোটোটাইপ উপলব্ধ করা হয়। বিপরীতে সি # কম্পাইলার হেডার ফাইল প্রয়োজন হয় না। সংকলন চলাকালীন, C # কম্পাইলার সরাসরি mscorlib.dll ফাইল অ্যাক্সেস করে এবং যে ফাইলটিতে এটি সংজ্ঞায়িত সমস্ত ক্লাস এবং অন্যান্য প্রকার সম্পর্কিত মেটাডেটা থেকে তথ্য সংগ্রহ করে।

সি # কম্পাইলারটি প্রতিষ্ঠা করতে সক্ষম হয়েছে যে mscorlib.dll প্রকৃতপক্ষে একটি নামস্থান নামক একটি কনসোল নামক ক্লাসে রয়েছে যা লিনাক্স নামের একটি পদ্ধতির সাথে টাইপ স্ট্রিংয়ের একক আর্গুমেন্ট গ্রহণ করে।

সি # কম্পাইলার নির্ধারণ করতে পারে যে লেখার কল বৈধ, এবং কম্পাইলার এক্সিকিউটেবলে mscorlib সমাবেশের একটি রেফারেন্স স্থাপন করে।

ডিফল্টরূপে সি # কম্পাইলার mscorlib.dll অ্যাক্সেস করবে, তবে অন্যান্য DLL- র জন্য, আপনাকে সংবিধান সংকলন বলতে হবে যেখানে ক্লাস অবস্থিত। এই রেফারেন্স হিসাবে পরিচিত হয়

আমি এখন এটা স্পষ্ট যে আশা করি!

DotNetBookZero চার্লস pitzold থেকে





.net