हमें कब एक का उपयोग करना चाहिए?
निर्णय संगतता और एपीआई पहुंच के बीच एक व्यापार बंद है।
जब आप अपने पुस्तकालय के साथ संगत ऐप्स की संख्या में वृद्धि करना चाहते हैं, तो .NET .NET लाइब्रेरी का उपयोग करें, और आप .NET एपीआई की सतह के क्षेत्र में कमी के साथ ठीक हैं जो आपकी लाइब्रेरी तक पहुंच सकती है।
.NET .NET लाइब्रेरी का उपयोग करें जब आप .NET एपीआई सरफेस एरिया को बढ़ाना चाहते हैं तो आपकी लाइब्रेरी एक्सेस कर सकती है, और आप केवल .NET कोर ऐप्स को अपने लाइब्रेरी के साथ संगत होने की अनुमति देकर ठीक हैं।
उदाहरण के लिए, .NET मानक 1.3 को लक्षित करने वाली एक लाइब्रेरी उन ऐप्स के साथ संगत होगी जो .NET फ्रेमवर्क 4.6, .NET कोर 1.0, यूनिवर्सल विंडोज प्लेटफॉर्म 10.0, और .NET मानक 1.3 का समर्थन करने वाले किसी अन्य प्लेटफॉर्म को लक्षित करते हैं। हालाँकि, लाइब्रेरी में .NET API के कुछ हिस्सों तक पहुँच नहीं होगी। उदाहरण के लिए, Microsoft.NETCore.CoreCLR
पैकेज .NET कोर के साथ संगत है लेकिन .NET मानक के साथ नहीं है।
क्लास लाइब्रेरी (.NET स्टैंडर्ड) और क्लास लाइब्रेरी (.NET कोर) में क्या अंतर है?
पैकेज-आधारित फ्रेमवर्क अनुभाग अंतर का वर्णन करता है।
संगतता: .NET मानक को लक्षित करने वाले पुस्तकालय किसी भी .NET मानक अनुरूप रनटाइम पर चलेंगे, जैसे .NET कोर, .NET फ्रेमवर्क, मोनो / ज़ामरीन। दूसरी ओर, .NET कोर को लक्षित करने वाले पुस्तकालय केवल .NET कोर रनटाइम पर ही चल सकते हैं।
API भूतल क्षेत्र: .NET मानक पुस्तकालय सब कुछ के साथ आते हैं। NETStandard.Library
जबकि .NET कोर पुस्तकालय सब कुछ के साथ आते हैं Microsoft.NETCore.App
। उत्तरार्द्ध में लगभग 20 अतिरिक्त पुस्तकालय शामिल हैं, जिनमें से कुछ हम अपने .NET मानक पुस्तकालय (जैसे System.Threading.Thread
) में मैन्युअल रूप से जोड़ सकते हैं और जिनमें से कुछ .NET मानक (जैसे Microsoft.NETCore.CoreCLR
) के साथ संगत नहीं हैं ।
इसके अलावा, .NET कोर लाइब्रेरी एक रनटाइम निर्दिष्ट करती है और एक एप्लीकेशन मॉडल के साथ आती है। उदाहरण के लिए, इकाई परीक्षण कक्षा पुस्तकालयों को चलाने योग्य बनाना महत्वपूर्ण है।
दोनों क्यों मौजूद हैं?
कुछ क्षणों के लिए पुस्तकालयों की उपेक्षा करना, .NET मानक मौजूद कारण पोर्टेबिलिटी के लिए है; यह एपीआई के एक सेट को परिभाषित करता है। .NET प्लेटफ़ॉर्म लागू करने के लिए सहमत होते हैं। कोई भी प्लेटफ़ॉर्म जो .NET मानक को लागू करता है, पुस्तकालयों के साथ संगत है जो .NET मानक को लक्षित करता है। उन संगत प्लेटफार्मों में से एक .NET कोर है।
पुस्तकालयों में वापस आकर, .NET मानक लाइब्रेरी टेम्प्लेट कई रनटाइम (एपीआई सतह क्षेत्र की कीमत पर) पर चलने के लिए मौजूद हैं। जाहिर है, .NET कोर लाइब्रेरी टेम्प्लेट अधिक API सतह क्षेत्र (संगतता की कीमत पर) तक पहुंचने और एक निष्पादन योग्य बनाने के लिए एक मंच निर्दिष्ट करने के लिए मौजूद है।
यहाँ एक इंटरेक्टिव मैट्रिक्स है जो दिखाता है कि .NET मानक किस .NET कार्यान्वयन (एस) का समर्थन करता है और कितना एपीआई सतह क्षेत्र उपलब्ध है।