কম্পিউটার টিউটোরিয়াল

C# ASP.NET Core-এ মেটাপ্যাকেজ (Metapackage) কী?

Microsoft.AspNetCore প্যাকেজ অনেক ASP.NET Core টেমপ্লেটে যোগ করা হয়। নতুন ASP.NET Core প্রজেক্ট খোলার সময় এই প্যাকেজ সাধারণত প্রজেক্ট ডিপেন্ডেন্সি হিসেবে থাকে। এটি একটি বেসিক ASP.NET Core অ্যাপ্লিকেশন সেটআপ করার জন্য অনেক গুরুত্বপূর্ণ প্যাকেজ ডেলিভার করে।

যদিও এই প্যাকেজে কোনো একচুড়ো DLL বা কোড নেই, এটি শুধু অন্যান্য প্যাকেজের উপর ডিপেন্ডেন্সির একটি সিরিজ ধারণ করে। এই প্যাকেজ আপনার প্রজেক্টে যোগ করলে, এটি जिन প্যাকেজের ওপর ডিপেন্ডেন্ট সেগুলোর সাথে তাদের DLL-গুলো আনে—এটিকে মেটাপ্যাকেজ বলা হয়।

নির্দিষ্ট ডিপেন্ডেন্সিগুলো:

Microsoft.AspNetCore.Diagnostics
Microsoft.AspNetCore.Hosting
Microsoft.AspNetCore.Routing
Microsoft.AspNetCore.Server.IISIntegration
Microsoft.AspNetCore.Server.Kestrel
Microsoft.Extensions.Configuration.EnvironmentVariables
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Logging
Microsoft.Extensions.Logging.Console
Microsoft.Extensions.Options.ConfigurationExtensions
NETStandard.Library

এই প্যাকেজগুলোর ভার্সন নির্ভর করে আপনি কোন ভার্সনের Microsoft.AspNetCore ইনস্টল করেছেন।

এই ডিপেন্ডেন্সিগুলো বেসিক লাইব্রেরি ডেলিভার করে Kestrel ওয়েব সার্ভার ব্যবহার করে বেসিক ASP.NET Core সার্ভার সেটআপ করতে (IIS Integration সহ)।

অ্যাপ্লিকেশন লেভেলে, শুধু এই প্যাকেজ দিয়ে আপনি অ্যাপ সেটিংস এবং এনভায়রনমেন্ট ভেরিয়েবল কনফিগারেশনে লোড করতে পারেন, IOptions ইন্টারফেস ব্যবহার করতে পারেন, এবং কনসোল লগিং কনফিগার করতে পারেন।

মিডলওয়্যারের জন্য শুধু Microsoft.AspNetCore.Diagnostics ইনক্লুডেড, যা এক্সেপশন হ্যান্ডলার, ডেভেলপার এক্সেপশন পেজ, স্ট্যাটাস কোড পেজ মিডলওয়্যার যোগ করতে দেয়।

একটি কমপ্লিট অ্যাপ্লিকেশন বানাতে শুধু মেটাপ্যাকেজ যথেষ্ট নয়—Microsoft.AspNetCore.Mvc বা Microsoft.AspNetCore.MvcCore যোগ করতে হবে MVC ক্যাপাবিলিটির জন্য, এবং আরও কিছু প্যাকেজ দরকার হতে পারে।

মেটাপ্যাকেজ প্রচুর প্যাকেজ একসাথে বান্ডেল করে যাতে আলাদা আলাদা ডিপেন্ডেন্সি যোগ করতে না হয়, কিন্তু বাস্তবে এটি আরও ডিপেন্ডেন্সি আনয়ে (যেমন NETStandard.Library যেটিও মেটাপ্যাকেজ), যা ডিপেন্ডেন্সি ট্রি বড় করে এবং মেটাপ্যাকেজের আসল উপকারিতা কমিয়ে দেয়।

  1. C# ASP.NET MVC-এ ChildActionOnly অ্যাট্রিবিউটের ব্যবহার

  2. C# ASP.NET MVC-এ NonActionAttribute-এর তাৎপর্য

  3. C# ASP.NET WebAPI-এ বিল্ট-ইন মেসেজ হ্যান্ডলারগুলো কী?

  4. উইন্ডোজ পিসিতে ASP.NET মেশিন অ্যাকাউন্ট বুঝুন এবং সরান