यह ज्ञात है कि Microsoft.AspNetCore पैकेज कई ASP.NET Core टेम्प्लेट में जोड़े गए पैकेजों में से एक है।
Microsoft.AspNetCore पैकेज को बार-बार एक नए ASP.NET Core प्रोजेक्ट खोलते समय सामान्य प्रोजेक्ट निर्भरताओं में से एक के रूप में शामिल किया जाता है। यह एक बुनियादी ASP.NET Core एप्लिकेशन को सेट अप करने के लिए कई महत्वपूर्ण पैकेज प्रदान करता है।
हालांकि, इस पैकेज में कोई वास्तविक dll या कोड नहीं होता है, यह केवल अतिरिक्त पैकेजों पर निर्भरताओं की एक श्रृंखला रखता है। इस पैकेज को अपने प्रोजेक्ट में जोड़कर, आप उन सभी प्रासंगिक पैकेजों को उनकी dlls के साथ लाते हैं जिन पर यह निर्भर करता है और इसे metapackage कहा जाता है।
विशेष रूप से, यह जिन पैकेजों को सूचीबद्ध करता है वे हैं -
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 पैकेज शामिल है, जो ExceptionHandlerMiddleware, DeveloperExceptionPageMiddleware, और StatusCodePagesMiddleware जैसे मिडलवेयर जोड़ने की अनुमति देगा।
एक एप्लिकेशन को पूरा करने के लिए, हम केवल Metapackage का उपयोग नहीं कर सकते क्योंकि यह पर्याप्त नियंत्रण प्रदान नहीं करता है लेकिन हम Microsoft.AspNetCore.Mvc या Microsoft.AspNetCore.MvcCore पैकेज का उपयोग करके अपने एप्लिकेशन में MVC क्षमताएं जोड़ सकते हैं, और कुछ अन्य पैकेजों की भी आवश्यकता होगी।
Metapackage केवल कई पैकेजों का उपयोग करने की कोशिश करता है जिन्हें कई एप्लिकेशन पर लागू किया जा सकता है ताकि हमें अधिक निर्भरताएं लोड न करनी पड़ें लेकिन वास्तव में यह ऐसा नहीं करता क्योंकि इसे अन्य पैकेजों की भी आवश्यकता होती है। इस प्रकार, यदि पैकेजों की संख्या बड़ी है तो निर्भरताएं बढ़ जाती हैं जो metapackage के वास्तविक उपयोग को प्रभावित करती हैं। उदाहरण के लिए, Microsoft.AspNetCore पर निर्भर करने वाली निर्भरताओं में से एक NETStandard.Library पैकेज है, जो भी एक metapackage है और इसलिए निर्भरताएं बढ़ जाती हैं।