.नेट फ्रेमवर्क

मुक्त ज्ञानकोश विकिपीडिया से
नेविगेशन पर जाएँ खोज पर जाएँ
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

साँचा:ambox साँचा:mbox

.NET Framework
Developer(s)Microsoft
Initial releaseसाँचा:initial release
Stable release
3.5.30729.1 (3.5 SP1) / साँचा:release date and age
Preview release
साँचा:template other
Operating systemWindows NT 4.0, Windows 98 and above
TypeSoftware framework
LicenseMS-EULA, BCL under Microsoft Reference License[१]
Websitemsdn.microsoft.com/netframework

साँचा:template other

माइक्रोसॉफ्ट .NET फ्रेमवर्क (Microsoft .NET Framework) एक सॉफ्टवेयर संरचना है जो माइक्रोसॉफ्ट विण्डोज़ (Microsoft Windows) ऑपरेटिंग सिस्टम पर चल रहे कंप्यूटर पर स्थापित किये जा सकते हैं। इसमें सामान्य प्रोग्रामिंग समस्याओं के निष्पादन के लिए कोडित समाधान का एक बड़ा पुस्तकालय भी शामिल है और एक आभासी मशीनहै जो विशेष रूप से ढांचे के लिए लिखे गए प्रोग्राम के क्रियान्वयन का प्रबंधन करती है। .NET फ्रेमवर्क (.NET Framework) माइक्रोसॉफ्ट (Microsoft) की एक पेशकश है और विण्डोज़ (Windows) प्लेटफॉर्म के लिए बनाये गए अधिकांश नए अनुप्रयोगों द्वारा इस्तेमाल करने के लिए बनाया गया है।

फ्रेमवर्क की बेस कक्षा लाइब्रेरी सुविधाओं की एक बड़ी सीमा प्रदान करता है जिसमें उपयोगकर्ता इंटरफ़ेस, डेटा का उपयोग, डेटाबेस कनेक्टिविटी, क्रिप्टोग्राफी, वेब अनुप्रयोग विकास, आंकिक एल्गोरिथ्म और नेटवर्क संचार शामिल हैं। वर्ग पुस्तकालय उन प्रोग्रामर द्वारा प्रयोग किया जाता है, जो आवेदन उत्पन्न करने के लिए इसे अपने स्वयं के कोड के साथ सम्मिलित करते हैं।

.NET फ्रेमवर्क (.NET Framework) के लिए प्रोग्राम लिखने के लिए एक सॉफ्टवेयर पर्यावरण को कार्यशील किया जाता है जो प्रोग्राम चलाने के लिए आवश्यकताओं का प्रबंधन करता है। .NET फ्रेमवर्क (.NET Framework) का भी हिस्सा, इस क्रम पर्यावरण को साझा भाषा क्रम (सी एल आर (CLR)) के रूप में जाना जाता है। सी एल आर (CLR) एक आवेदन आभासी मशीन प्रदान करता है ताकि प्रोग्रामर को कार्यक्रम क्रियान्वित करने के लिए विशिष्ट सी पी यू (CPU) की क्षमताओं की जरूरत नहीं पड़े. ऐसी सुरक्षा के लिए सी एल आर (CLR) भी अन्य महत्त्वपूर्ण सेवाएं प्रदान करता है, जैसे -स्मृति प्रबंधन और अपवाद हैंडलिंग. श्रेणी के पुस्तकालय और सी एल आर (CLR) साथ-साथ NET Framework का गठन करते हैं।

.NET फ्रेमवर्क (.NET Framework) के संस्करण-3 में विण्डोज़ सर्वर (Windows Server)2008, विण्डोज़ विस्ता (Windows Vista) और विण्डोज़-7 (Windows-7) शामिल हैं। फ्रेमवर्क का वर्तमान स्थिर संस्करण जो 3.5 है, उसे विण्डोज़ एक्स पी (Windows XP) और विण्डोज़ सर्वर (Windows Server) 2003 ऑपरेटिंग सिस्टम के परिवार पर भी स्थापित किया जा सकता है।[२] फ्रेमवर्क के संस्करण 4 को 20 मई 2009 को एक सार्वजनिक बीटा के रूप में जारी किया गया था।[३]

.NET फ्रेमवर्क (.NET Framework) परिवार में मोबाइल या एम्बेडेड उपकरण के इस्तेमाल के लिए दो संस्करण भी शामिल है। फ्रेमवर्क का एक छोटा संस्करण,.NET कम्पैक्ट फ्रेमवर्क, विण्डोज़ सीई (Windows CE) प्लेटफार्म पर उपलब्ध है और इसमें स्मार्टफोन के रूप में विण्डोज़ (Windows) मोबाइल उपकरण शामिल हैं। इसके अतिरिक्त, .NET सूक्ष्म फ्रेमवर्क गंभीर रूप से सीमित संसाधन उपकरणों पर लक्षित है।

प्रमुख डिज़ाइन विशेषताएं

अंतरसंक्रियता
क्योंकि नए और पुराने अनुप्रयोगों के बीच आमतौर पर बातचीत आवश्यकता होती है, .NET फ्रेमवर्क (.NET Framework) प्रोग्राम में कार्यान्वित होने वाला माध्यम प्रदान करता है जो .NET पर्यावरण को अंजाम देने में लागू किया जाता है। सी ओ एम (COM) घटकों को System.Runtime.InteropServices में प्रवेश दिया जाता है औरफ्रेमवर्क के System.EnterpriseServices नेमस्पेसिज़; अन्य कार्यात्मकता के लिए प्रवेश पी/आह्वान सुविधा के उपयोग से प्रदान किया जाता है।
सामान्य क्रम इंजन
सामान्य भाषा क्रम (सी एल आर (CLR)).NET फ्रेमवर्क (.NET Framework) के आभासी मशीन घटक है। सभी. NET प्रोग्राम सी एल आर (CLR) कार्यक्रमों की देखरेख में निष्पादित होते हैं और स्मृति प्रबंधन, सुरक्षा और अपवाद हैंडलिंग के क्षेत्रों में कुछ गुण और व्यवहार की गारंटी देता है।
भाषा स्वतंत्रता
.NET फ्रेमवर्क (.NET Framework) एक सामान्य प्रकार प्रणाली, या सी टी एस (CTS) पेश करता है। सी टी एस (CTS) विनिर्देशन हर संभव डाटा प्रकार को और सी एल आर (CLR) द्वारा समर्थित प्रोग्रामिंग रचनाओं को परिभाषित करता है और यह भी बताता है कि वह कैसे एक दूसरे के साथ बातचीत कर सकते हैं या नहीं कर सकते हैं। क्योंकि इस सुविधा के कारण, NET फ्रेमवर्क (.NET Framework) कार्यक्रमों के बीच किसी भी प्रकार के प्रश्न के लिखित घटनाओं के आदान प्रदान के लिए नेट भाषाओं का समर्थन करता है। इसकी Microsoft (माइक्रोसॉफ्ट) की .NET भाषाओं में और अधिक विस्तार से चर्चा है।
आधार कक्ष पुस्तकालय
बेस कक्ष पुस्तकालय (बी सी एल (BCL)), फ्रेमवर्क कक्षा लाइब्रेरी (ऍफ़ एल सी (FCL)) का एक हिस्सा है और सभी .NET फ्रेमवर्क (.NET Framework) प्रयोग भाषाओं में उपलब्ध कार्यशीलता का एक पुस्तकालय है। बी सी एल (BCL) वर्ग है जो पढ़ने और लिखने फ़ाइल सहित आम कार्यों का एक नंबर संपुटित करता है और इसमें ग्राफिक प्रतिपादन, डाटाबेस संपर्क और एक्स एम एल (XML) दस्तावेज़ हेरफेर शामिल है।
सरलीकृत तैनाती
.NET फ्रेमवर्क (.NET Framework) में डिजाइन सुविधाओं और उपकरण शामिल है जो कि मदद कंप्यूटर सॉफ्टवेयर की स्थापना के प्रबंध सुनिश्चित करने के लिए कि यह पहले से स्थापित सॉफ्टवेयर के साथ हस्तक्षेप नहीं करता है और यह उनकी सुरक्षा आवश्यकताओं के अनुरूप होता है।
सुरक्षा
डिजाइन का मतलब इस तरह के कुछ बफर अतिप्रवाह व कमजोरियों के रूप में है, जिसका दुर्भावनापूर्ण सॉफ़्टवेयर द्वारा शोषण किया गया है। इसके अतिरिक्त, NET. सभी अनुप्रयोगों के लिए एक आम मॉडल को सुरक्षा प्रदान करता है।
सुवाह्यता
.NET फ्रेमवर्क (.NET Framework) के डिजाइन सैद्धांतिक रूप से होना मंच नास्तिक और इस तरह पार मंच संगतता को अनुमति देता है, लेकिन व्यवहार में बेस कक्षा पुस्तकालय के भीतर कुछ वर्ग (उदाहरण के लिए, विण्डोज़ (Windows) के भीतरनेमस्पेस फार्म) विशेष कर विण्डोज़ (Windows) के लिए होते हैं। हालांकि सी एल आर (CLR) और वर्ग के आधार पुस्तकालयों के माइक्रोसॉफ्ट के कार्यान्वयन के लिए केवल माइक्रोसॉफ्ट विण्डोज़, एक क्रॉस के तहत संचालित डिजाइन मंच मोनो परियोजना का कार्यान्वयन कर रहे हैं जो दोनों विण्डोज़ (Windows) पर चलाया जा सकता है और पीसी और यूनिक्स के माध्यम से / लिनक्स (Linux) (हालांकि यह केवल .NET 2.0 अप संगत है) में उपलब्ध है। Microsoft (माइक्रोसॉफ्ट) साझा भाषा बुनियादी सुविधाओं के लिए विशिष्टताओं को प्रस्तुत करता है (जिसमें मूल वर्ग पुस्तकालयों, साधारण प्रकार प्रणाली, और साझा मध्यवर्ती भाषा भी शामिल है),[४][५][६] सी भाषा,[७] और सी + + / CLI भाषा[८] ईसीएमए (ECMA) और आईएसओ के लिए[८] वे खुले मानक के रूप में उपलब्ध हैं।

बनावट

सामान्य भाषा अवसंरचना सीएलआई (CLI) का दृश्य अवलोकन

आम भाषा मूलभूत संरचना (सी एल आई (CLI))

सामान्य भाषा मूलभूत संरचना, या सी एल आई (CLI) का उद्देश्य, एक भाषा-अपवाद हैंडलिंग, कचरा संग्रहण, सुरक्षा और अंतरसंक्रियता के लिए कार्य सहित आवेदन विकास और कार्यान्वयन के लिए तटस्थ मंच प्रदान करना है। सी एल आर (CLR) के दायरे के भीतर.NET फ्रेमवर्क (.NET Framework) के मुख्य पहलुओं को लागू करने से, यह कार्यशीलता एक भाषा से नहीं बांधा जा सकता, लेकिन कई रूपरेखा द्वारा समर्थित भाषाओं में उपलब्ध होगा। सी एल आई (CLI) के माइक्रोसॉफ्ट के कार्यान्वयन को साझा भाषा क्रम या सी एल आर (CLR) कहा जाता है।

असेंम्बलियाँ

NET असेंब्ली में सी आई एल (CIL) कोड रखे गए हैं। जैसा कि विनिर्देशन द्वारा सौंपा गया है, अस्सेम्बली पोर्टेबल निष्पादन योग्य (पीई) स्वरूप में, सभी डीएलएल (DLL) और ईएक्सई (EXE) फ़ाइलों के लिए विण्डोज़ (Windows) मंच पर संग्रहीत हैं। असेम्बली में एक या अधिक फ़ाइलें होते हैं जिनमें से एक प्रकट होना चाहिए, जो विधानसभा के लिए मेटाडाटा (metadata) है। एक विधानसभा का पूरा नाम (डिस्क पर फ़ाइल नाम के साथ नहीं भ्रमित करने के लिए) अपनी साधारण पाठ का नाम, संस्करण संख्या, संस्कृति हैं और सार्वजनिक कुंजी टोकन है। सार्वजनिक टोकन कुंजी एक अद्वितीय हैश उत्पन्न है जब असेम्बली संकलित हो, इस प्रकार दो असेम्बली की रूपरेखा को देखने के लिहाज़ से एक ही टोकन सार्वजनिक कुंजी कि गारंटी दी जा सके। एक निजी कुंजी ही असेम्बली के निर्माता का नाम भी निर्दिष्ट कर सकता है और मजबूत नामकरण के लिए इस्तेमाल किया जा सकता है और इसकी गारंटी देता है कि असेम्बली उसी लेखक की ओर से होता है जब असेम्बली का एक नया संस्करण तैयार होता है (वैश्विक असेंब्ली कैशे के लिए एक असेंब्ली जोड़ने की जरूरत पड़ती है).

मेटाडाटा

सभी सी आई एल (CIL), .NET मेटाडाटा (.NET metadata) के माध्यम से स्वयं का वर्णन करते हैं। सी एल आर मेटाडाटा (CLR Metadata) यह जांचता है ताकि सही तरीके को सुनिश्चित किया जा सके। मेटाडाटा (Metadata) आम तौर पर भाषा पर संकलक डेवलपर्स द्वारा उत्पन्न किया जाता है लेकिन कस्टम गुण के माध्यम से डेवलपर्स अपने मेटाडाटा (Metadata) बना सकते हैं। मेटाडाटा (Metadata) असेम्बली के बारे में जानकारी है और यह .NET फ्रेमवर्क (.NET Framework) क्षमताओं को लागू करने के लिए भी प्रोग्रामिंग को प्रतिबिंबित करता है। फुच्क उ?????

सुरक्षा

.NET की अपनी सुरक्षा व्यवस्था के साथ साथ दो सामान्य विशेषताएं: कोड प्रवेश सुरक्षा (सी ए एस (CAS)) और प्रमाणीकरण और सत्यापन की है। कोड प्रवेश सुरक्षा सबूत आधारित है और एक विशेष सभा के साथ जुड़ा हुआ है। आम तौर पर सबूत विधानसभा का स्रोत है (चाहे वह स्थानीय मशीन पर स्थापित है या इंट्रानेट या इंटरनेट से डाउनलोड किया गया है). कोड प्रवेश सुरक्षा सबूत का उपयोग करता है ताकि कोड के लिए दी गई अनुमति का निर्धारण किया जा सके। अन्य कोड यह मांग कर सकते हैं कि एक कोड को निर्दिष्ट अनुमति दे दी जाये. मांग सी एल आर (CLR) कारणों के लिए एक कॉल चिति चल: कॉल चिति में प्रत्येक पद्धति के हर असेम्बली प्रदर्शन के लिए आवश्यक अनुमति की जाँच की जाती है, अगर किसी असेम्बली के लिए ऐसी अनुमति नहीं ली गयी है तो यह एक सुरक्षा अपवाद है।

जब एक असेम्बली भरी जाती है तो सी एल आर (CLR) विभिन्न परीक्षण करता है। ऐसे दो परीक्षण प्रमाणीकरण और सत्यापन हैं। प्रमाणीकरण के दौरान सी एल आर (CLR) यह जांच करती है कि क्या असेम्बली में वैध मेटाडाटा और सी आई एल (CIL) है और क्या आंतरिक टेबल सही हैं। सत्यापन इतना सटीक नहीं है। सत्यापन प्रणाली यह चेक करता है कि क्या कोड कुछ ऐसा भी करता है जो कि असुरक्षित है। एल्गोरिथ्म का उपयोग काफी रूढ़िवादी है, इसलिए कभी कभी सुरक्षित कोड है भी पास नहीं किये जाते है। असुरक्षित कोड केवल तभी कार्य में लाया जाता है जब असेम्बली द्वारा सत्यापन छूट की अनुमति हो, जिसका आमतौर पर मतलब यह होता है कि कोड स्थानीय मशीन पर स्थापित है।

.NET फ्रेमवर्क (.NET Framework) एक प्रक्रिया में चल रहे अलग कोड के लिए एक तंत्र के रूप में एपडोमेंज़ (AppDomains) का उपयोग करता है। एपडोमेंज़ (AppDomains) अन्य एपडोमेंज़ (AppDomains) से स्वतंत्र रूप से लोड या अनलोड और बनाया जा सकता है। यह आवेदन की गलती सहनशीलता बढ़ाने में मदद करता है, ताकि दोष या दुर्घटनाओं के एक एपडोमेंज़ (AppDomains) में आवेदन के शेष प्रभावित नहीं हों. एपडोमेंज़ (AppDomains) विभिन्न सुरक्षा विशेषाधिकारों के साथ भी स्वतंत्र रूप से कॉन्फ़िगर हो सकती है। यह संभावित असुरक्षित कोड अलग से आवेदन की सुरक्षा की वृद्धि में मदद कर सकता है। बहरहाल डेवलपर, आवेदन को उप डोमेंज़ में विभाजित करता है, ऐसा सी एल आर (CLR) द्वारा नहीं किया जाता है।

वर्ग पुस्तकालय

बीसीएल (BCL) में नेमस्पेस[९]
प्रणाली (System)
सिस्टम: CodeDom
सिस्टम: संग्रह
सिस्टम: निदान
सिस्टम: वैश्वीकरण
सिस्टम: आई ओ (IO)
सिस्टम: संसाधन
सिस्टम: टेक्स्ट
सिस्टम: Text.RegularExpressions

.NET फ्रेमवर्क (.NET Framework) में मानक वर्ग पुस्तकालयों का एक सेट शामिल है। वर्ग पुस्तकालय नेमस्पेस के पदानुक्रम में संगठित होता है अधिकांश एपीआई (APIs) में निर्मित या तो System.* या Microsoft.* नेमस्पेस का हिस्सा हैं। इन पुस्तकालय वर्गों में बड़ी संख्या में सामान फंक्शन्स होते हैं, जैसे कि फ़ाइल पढ़ने और ग्राफिक प्रतिपादन, डेटाबेस संपर्क और अन्य लोगों के अलावा एक्सएमएल (XML) दस्तावेज़ हेरफेर आदि। .NET वर्ग पुस्तकालय सभी .NET भाषाओं में उपलब्ध हैं। NET फ्रेमवर्क (.NET Framework) वर्ग पुस्तकालय दो भागों: बेस कक्षा पुस्तकालय और फ्रेमवर्क कक्षा लाइब्रेरी में विभाजित है।

बेस कक्षा लाइब्रेरी (बीसीएल (BCL)) पूरी कक्षा पुस्तकालय का एक छोटा सा सबसेट शामिल है और कक्षाओं का सेट है कि आम भाषा का मूल एपीआई क्रम सेवा कोर के रूप में है।[९] mscorlib.dll में वर्ग और System.dll और System.core.dll में कुछ वर्गों को बीसीएल (BCL) का एक हिस्सा माना जाता है। बीसीएल वर्ग दोनों में उपलब्ध है।NET फ्रेमवर्क (.NET Framework) के साथ साथ . NET कम्पैक्ट फ्रेमवर्क, माइक्रोसॉफ्ट सिल्वरलाईट (Microsoft Silverlight)और मोनो वैकल्पिक कार्यान्विति में भी हैं।

फ्रेमवर्क कक्षा लाइब्रेरी (एफसीएल (FCL)) बीसीएल कक्षाओं का एक सुपरसेट है और पूरी क्लास पुस्तकालय को संदर्भित करता है जो .NET फ्रेमवर्क (.NET Framework) को वहन करता है। इसमें पुस्तकालयों के एक [[विनफोर्म्ज़ (WinForms), ADO.NET, ASP.NET, भाषा समन्वित क्वेरी, विण्डोज़ (Windows) प्रस्तुति फाउंडेशन, विण्डोज़ (Windows) संचार]] अन्य लोगों के अलावा फाउंडेशन सहित विस्तार सेट, शामिल हैं। एफसीएल (FCL) बहुत सी++ (C++) जैसी भाषाओं और जावा के मानक पुस्तकालयों की तुलना में व्यापक है।

मेमोरी मैनेजमेंट

.NET फ्रेमवर्क (.NET Framework) सी एल आर (CLR) डेवलपर को स्मृति प्रबंध के बोझ से मुक्त कर देते (कार्य के दौरान आवंटन और मुक्त करता है); बजाय यह स्वयं स्मृति प्रबंधन ही है। इसे समाप्त करने के लिए, . NET प्रकार (वस्तुओं) को स्मृति की instantiations को प्रबंधित ढेर, स्मृति का एक पूल सी एल आर (CLR) द्वारा प्रबंधित से रेगुलर[१०] आबंटित किया जाता है। जब तक वहाँ एक वस्तु है, जो, वस्तु या तो एक वस्तु को एक प्रत्यक्ष संदर्भ या वस्तु का ग्राफ के द्वारा हो सकता है तब तक वस्तु को सी एल आर (CLR) द्वारा उपयोग में माना जाता है। जब किसी वस्तु के लिए कोई संदर्भ नहीं हो और यहाँ तक पहुँच नहीं हो या इस्तेमाल नहीं किया जा सके, तो यह कचरा बन जाता है। हालांकि, यह अभी भी यह स्मृति आवंटित करने पर अडिग रहती है। .NET फ्रेमवर्क (.NET Framework) एक कचरा कलेक्टर है जो समय समय पर आवेदन धागे से एक अलग धागा पर चलाया जाता है और यह सब व्यर्थ वस्तुओं की गणना करता है और इसमें उन्हें आवंटित स्मृति सुधारना शामिल हैं।

. NET कचरा (जी सी (GC)) कलेक्टर एक गैर नियतात्मक, संक्षिप्त, फुटकर और झाडू कचरा कलेक्टर है। जी सी (GC) केवल तभी चलाया जाता है जब स्मृति का एक निश्चित राशि का इस्तेमाल किया गया हो या वहाँ सिस्टम पर स्मृति के लिए काफी दबाव हो। चूंकि यह शर्त स्मृति को पुनः प्राप्त करने के लिए पहुँच की गारंटी नहीं है, इसलिए जी सी (GC) रन गैर नियतात्मक हैं। प्रत्येक .NET अनुप्रयोग रूट का एक सेट है, जो प्रबंधित ढेर पर वस्तुओं की ओर इशारा (प्रबंधित वस्तुओं) करता है। इनमें स्थिर वस्तुओं और स्थानीय चर या विधि मानकों के रूप में परिभाषित की वस्तुओं को शामिल किया जाता है। साथ ही सीपीयू रजिस्टर द्वारा निर्दिष्ट वस्तुओं को संदर्भित किया जाता है।[१०] जब जी सी (GC) रन किया जाता है, तो यह आवेदन को पॉज़ करता है और रूट में निर्दिष्ट प्रत्येक वस्तु के लिए, यह सभी वस्तुओं की रीकर्सिव्ली गणना करता है और उन्हें रीचेबुल चिह्नित करता है। यह .NET मेटाडाटा (.NET Metadata) का उपयोग करता है और वस्तुओं की खोज प्रतिबिंब को समझाकर फिर उन्हें रीकर्सिव्ली चलाता है। तब यह ढेर पर सभी वस्तुओं की गणना करता है जो (शुरू में लगातार आबंटन की होती हैं) प्रतिबिंब का उपयोग कर रहे थे। सभी वस्तुएं जो चिह्नित नहीं हैं, कचरा होती हैं।[१०] इस निशान चरण है।[११] जब तक कचरा द्वारा आयोजित की स्मृति का कोई भी परिणाम नहीं निकलता है, इसे मुक्त स्थान माना जाता है। बहरहाल, यह वस्तुओं के बीच मुक्त स्थान छोड़ देता है, जो इसके पड़ोस का हिस्सा है। वस्तुओं को एक साथ जमा करने के लिए मुक्त स्पेस के द्वारा उन्हें फिर से मिलाने के लिए[११] मेम्स्पी (memcpy) का उपयोग कर पुनः मुक्त स्पेस में कॉपी किया जाता है।[१०] किसी वस्तु के लिए कोई संदर्भ वस्तु को मूव कर अवैध किया जाता है और यह GC द्वारा नए स्थान के अद्यतन को प्रतिबिंबित है।[११] कचरा संग्रहण ख़त्म होने के बाद आवेदन फिर से शुरू हो जाता है।

.NET फ्रेमवर्क (.NET Framework) द्वारा इस्तेमाल जी सी (GC) वास्तव में पीढ़ीगत है।[१२] वस्तुओं को एक पीढ़ी सौंपा जाता है; नव निर्मित वस्तुएं पीढ़ी 0 से संबंधित होती हैं। कचरा संग्रहण से बचानेवाली वस्तुएं 1 जनरेशन के रूप में चिह्नित की जाती है और जनरेशन 1 वस्तुओं को बचानेवाली वस्तुएं 2 जनरेशन की होती है। .NET फ्रेमवर्क (.NET Framework) जनरेशन को 2 वस्तुओं का उपयोग करता है।[१२] उच्च उत्पादन वस्तुएं अक्सर कम उत्पादन वस्तुओं से भी कम समय में कचरा एकत्र कर रहे हैं। यह कचरा संग्रहण की क्षमता बढ़ाने में मदद करता है, जैसे कि पुरानी वस्तुओं को नये वस्तुओं की तुलना में ज्यादा जीवन भर देते हैं।[१२] इस प्रकार, उम्र (और इस प्रकार अधिक संग्रह जीवित रहने की संभावना को हटाने की वस्तुओं) एक संग्रह रन की गुंजाइश से, कम वस्तुओं की जाँच और ठोस करने की आवश्यकता है।

मानकीकरण और लाइसेंस

अगस्त 2000 में, माइक्रोसॉफ्ट, हेवलेट-पेकार्ड (Hewlett-Packard) और इंटेल ने सीएलआई (CLI) मानकीकृत और सी प्रोग्रामिंग भाषा में कार्य किया। दिसम्बर 2001 तक, दोनों ECMA (ECMA 335 और ECMA 334 मानकों का अनुमोदन किया गया। अप्रैल 2003 में आईएसओ - आईएसओ (ISO) मानकों की मौजूदा संस्करण आईएसओ / आईईसी और आईएसओ 23271:2006 / 23270:2006 आईईसी हैं।[१३][१४]

जब माइक्रोसॉफ्ट और उनके सहयोगी पार्टनर सीएलआई (CLI) और सी# के लिए पेटेंटों को होल्ड करते हैं तो ईसीएमए (ECMA) और आई एस ओ (ISO) की जरूरत पड़ती है क्योंकि सभी पेटेंटों को लागू करने के लिए उचित और भेदभाव रहित शर्तों के अंतर्गत आवश्यक रूप से कार्यान्वित करना पड़ता है।साँचा:category handler[<span title="स्क्रिप्ट त्रुटि: "string" ऐसा कोई मॉड्यूल नहीं है।">citation needed] इन शर्तों की बैठक के अलावा, कंपनियों को पेटेंट रॉयल्टी मुक्त उपलब्ध कराने पर सहमति जताई गयी है।साँचा:category handler[<span title="स्क्रिप्ट त्रुटि: "string" ऐसा कोई मॉड्यूल नहीं है।">citation needed]

बहरहाल, यह. NET फ्रेमवर्क का हिस्सा नहीं है, जो ईसीएमए (ECMA)/ आईएसओ (ISO) मानक द्वारा कवर नहीं है, इसमें विण्डोज़ फोर्म्ज़ (Windows Forms), ADO.NET, ASP.NET भी शामिल है। पेटेंट की माइक्रोसॉफ्ट धारणसाँचा:category handler[<span title="स्क्रिप्ट त्रुटि: "string" ऐसा कोई मॉड्यूल नहीं है।">citation needed] के क्षेत्रों में गैर-रोक ढांचे के माइक्रोसॉफ्ट (Microsoft) कार्यान्वयन हो सकते हैं।[१५]

3 अक्टूबर 2007 को, माइक्रोसॉफ्ट (Microsoft) ने घोषणा की कि.NET फ्रेमवर्क (.NET Framework) बेस कक्षा लाइब्रेरी के लिए 0}साझा स्रोत माइक्रोसॉफ्ट (Microsoft) संदर्भ लाइसेंस के तहत 2007 के अंत स्रोत कोड (ASP.NET, ADO.NET और विण्डोज़ (Windows) प्रस्तुति फाउंडेशन) कि जगह दृश्य 2008 स्टूडियो के अंतिम रिलीज के साथ उपलब्ध कराया जा रहा है। भविष्य के रिलीज में विंडोज संचार फाउंडेशन (डबल्यू सी एफ (WCF)) सहित अन्य पुस्तकालयों के लिए स्रोत कोड, विण्डोज़ (Windows) कार्यप्रवाह फाउंडेशन (डबल्यू एफ (WF)) और भाषा समन्वित क्वेरी (एलआईएनक्यू (LINQ)) शामिल हो गए॰ माइक्रोसॉफ्ट (Microsoft) संदर्भ लाइसेंस का गैर ओपन स्रोत होने के नाते इस स्रोत कोड का उद्देश्य है केवल डिबगिंग, जो मुख्य रूप से बी सी एल (BCL) के दृश्य स्टूडियो में बीसीएल के एकीकृत डिबगिंग का समर्थन करने के लिए उपलब्ध है।

संस्करण

1990 के दशक के उत्तरार्ध में माइक्रोसॉफ्ट (Microsoft) ने .NET फ्रेमवर्क (.NET Framework) के विकास के लिए मूल रूप से अगली पीढ़ी विण्डोज़ (Windows) सेवा (एन जी डबल्यू एस (NGWS)) शुरू की। 2000 के अंत में .NET 1.0 का बीटा संस्करण जारी किए गए॰[१६]

.NET फ्रेमवर्क (.NET Framework) स्टैक

(| वर्ग= विकीटेबल ("wikitable")!संस्करणसंस्करण संख्या!रिलीज़ दिनांक!दृश्य स्टूडियो!विंडोज में डिफ़ॉल्ट |- | 1.0 | | 1.0.3705.0 | | 2002/02/13 | | दृश्य स्टूडियो |.NET| | -- | 1.1 | | 1.1.4322.573 | | 2003/04/24 | | दृश्य स्टूडियो .NET 2003 | | विण्डोज़ सर्वर (Windows Server) 2003 | -- | 2.0 | | 2.0.50727.42 | | 2005/11/07 | | दृश्य स्टूडियो | 2005 | | -- | 3.0 | | 3.0.4506.30 | | 2006/11/06 | | | | Windows Vista (विण्डोज़ विस्ता) Windows Server (विण्डोज़ सर्वर) 2008 | -- | 3.5 | | 3.5.21022.8 | | 2007/11/19 | | दृश्य स्टूडियो | 2008 | 7 Windows (विण्डोज़) Windows Server (विण्डोज़ सर्वर) 2008 आर2 (r2) | -- | 4 बीटा 2 | | | | 2009/10/19 | | दृश्य स्टूडियो 2010 | | |) .NET फ्रेमवर्क (.NET Framework) की रिलीज की एक और पूरी .NET फ्रेमवर्क (.NET Framework) संस्करण की सूची पर पाया जा सकता है।

.NET फ्रेमवर्क 1.0(.NET Framework 1.0)

यह .NET फ्रेमवर्क (.NET Framework) की पहली रिलीज है जो 13 फ़रवरी 2002 को जारी की गयी और विण्डोज़ 98 (Windows 98), मी (Me), एन टी (NT) 4.0, 2000 और एक्स पी (XP) के लिए उपलब्ध है। मुख्यधारा के इस संस्करण के लिए समर्थन माइक्रोसॉफ्ट (Microsoft) द्वारा 10 जुलाई 2009 में समाप्त हो गया था और विस्तारित समर्थन को 14 जुलाई 2009 को समाप्त किया गया।[१७]

.NET फ्रेमवर्क (.NET Framework) 1.1

यह पहली बड़ी .NET फ्रेमवर्क (.NET Framework) उन्नयन है। यह एक रीडिसट्रीब्युटिद पैकेज या एक सॉफ्टवेयर विकास किट के रूप में अपने आप पर उपलब्ध है और 3 अप्रैल 2003 को प्रकाशित हुआ था। यह माइक्रोसॉफ्ट (Microsoft) दृश्य स्टूडियो . NET के दूसरे रिलीज़ का हिस्सा भी है (दृश्य. NET 2003 स्टूडियो के रूप में जारी). यह.NET फ्रेमवर्क (.NET Framework) का पहला संस्करण है जिसे विंडोज़ ऑपरेटिंग सिस्टम के भाग के रूप में विण्डोज़ सर्वर (Windows Server) 2003 के शिपिंग के साथ शामिल किया जाएगा। मुख्य धारा के लिए। NET फ्रेमवर्क (.NET Framework) 1.1 का समर्थन अक्टूबर 14, 2008 को समाप्त हुए और विस्तारित समर्थन 8 अक्टूबर 2013 को समाप्त होना है। चूँकि .NET 1.1 विण्डोज़ सर्वर (Windows Server) 2003, के एक घटक है, इसका विस्तृत समर्थन NET 1.1 के लिए 2003 सर्वर पर बढ़ाया गया है जो वर्तमान में 14 जुलाई 2015 तक है।

1.1 में 1.0 की तुलना में परिवर्तन

  • मोबाइल ASP.NET नियंत्रण के लिए समर्थन में निर्मित. अतिरिक्त के रूप में .NET फ्रेमवर्क (.NET Framework) पर पहले से उपलब्ध है और अब रूपरेखा का हिस्सा है।
  • सुरक्षा परिवर्तन - विण्डोज़ फोर्म्ज़ (Windows Forms) असेंबलियों में सक्षम-तरीके से इंटरनेट पर लागू है और ASP.NET अनुप्रयोगों में प्रवेश सुरक्षा कोड में सक्षम है।
  • ओडीबीसी (ODBC) और ओरेकल (Oracle) डाटाबेस के लिए समर्थन में निर्मित. .NET फ्रेमवर्क 1.0 (.NET Framework 1.0) के लिए पहले से एक अतिरिक्त के रूप में उपलब्ध है, अब रूपरेखा का हिस्सा है।
  • .NET कम्पैक्ट फ्रेमवर्क - छोटे उपकरणों के लिए एक .NET फ्रेमवर्क (.NET Framework) के संस्करण.
  • इंटरनेट प्रोटोकॉल संस्करण 6 (आईपीवी 6 (IPv6)) समर्थन.
  • कई एपीआई (API) बदलता है।

.NET फ्रेमवर्क (.NET Framework) 2.0

2005 दृश्य स्टूडियो, माइक्रोसॉफ्ट (Microsoft) एसक्यूएल (SQL) सर्वर 2005, और बिज़टाक (BizTalk) 2006 के साथ जारी

  • 2.0 पुनर्वितरण लायक पॅकेज Microsoft से मुफ्त डाउनलोड किया जा सकता है और 22 जनवरी 2006 को प्रकाशित हुआ था।
  • 2.0 सॉफ्टवेयर विकास किट (SDK) Microsoft से मुक्त डाउनलोड कर सकते हैं।
  • यह दृश्य स्टूडियो 2005 और माइक्रोसॉफ्ट (Microsoft) SQL सर्वर 2005 के भाग के रूप में शामिल किया गया है।
  • किसी भी सर्विस पैक के बिना संस्करणः 2.0 विण्डोज़ 98 (Windows 98) और विण्डोज़ मी (Windows Me) के लिए समर्थन के साथ पिछला संस्करण है। सर्विस पैक 2 के साथ संस्करण 2.0 विण्डोज़ 2000 (Windows 2000) के लिए सरकारी सहायता के साथ अंतिम संस्करण है। हालांकि कुछ अनधिकृत से विण्डोज़ 2000 (Windows 2000) में 3.5 संस्करण से कार्यशीलता के एक सबसेट का उपयोग करने के लिए वर्कअराउंडज़ ऑनलाइन प्रकाशित किया गया है।[१८] सर्विस पैक 2 के साथ विण्डोज़ (Windows) संस्करण 2.0 या बाद SP2 और विण्डोज़ इंस्टालर (Windows Installer) 3.1 के साथ एसपी4 (SP4) प्लस केबी835732 (KB835732) या केबी891861 (KB891861) अद्यतन, विण्डोज़ एक्सपी (Windows XP) 2000 (केबी893803-वी2 (KB893803-v2)) की आवश्यकता है, हालांकि आप केवल निर्देशिका "Microsoft.NET नकल" कर सकते हैं और "विधानसभा" (%systemroot% में स्थित) कंप्यूटर कहाँ .NET फ्रेमवर्क (.NET Framework) से स्थापित है, यह भी mscoree.dll, msvc*80.dll, gdiplus.dll msvc में "%systemroot% \ system32" और रजिस्ट्री "HKLM \SOFTWARE \ Microsoft\.NETFramework को जोड़ने के मूल्य", पैरामीटर मान के साथ "इंस्टालरूट" ("InstallRoot") "C:\\WINDOWS\\Microsoft.NET\\Framework\\"।
  • यह Windows Server 2003 R2 (विण्डोज़ सर्वर 2003 आर2) के साथ भेज दिया गया स्थापित (डिफ़ॉल्ट रूप से नहीं) है।

2.0 में 1.1 की तुलना में परिवर्तन

  • कई एपीआई (API) बदलता है।
  • एक नए देशी अनुप्रयोगों के लिए होस्टिंग एपीआई (API) .NET रनटाइम का एक उदाहरण है। नई एपीआई (API) के साथ बहुसूत्रण करने के लिहाज़ से, स्मृति आवंटन, असेम्बली लोअडिंग और अधिक (detailed reference) क्रम के व्यवहार पर ठीक अनाज नियंत्रण देता है। यह शुरू से कुशलतापूर्वक माइक्रोसॉफ्ट एसक्यूएल (Microsoft SQL) सर्वर है, जो अपनी ही अनुसूचक और स्मृति प्रबंधक लागू क्रम में मेजबान विकसित की गई थी।
  • एक्स64 (x64) और आईए64 (IA64) हार्डवेयर प्लेटफॉर्म दोनों के लिए पूरे 64-बिट समर्थन के साथ.
  • .NET CLR (सीएलआर) में सीधे बनायी गयी जेनरिक भाषा के लिए समर्थन करते हैं।
  • कई अतिरिक्त और सुधार ASP.NET वेब नियंत्रण.
  • नई प्रकाशक डेटा के साथ डेटा नियंत्रण बाइंडिंग.
  • नई निजीकरण ASP.NET, ऐसे विषयों के लिए, खाल और webparts के लिए समर्थन के रूप में सुविधाएँ.
  • .NET माइक्रो फ्रेमवर्क - .NET फ्रेमवर्क (.NET Framework) स्मार्ट निजी वस्तुएँ प्रौद्योगिकी पहल से संबंधित की रूपरेखा का एक संस्करण है।
  • आंशिक वर्ग
  • बेनामी तरीके
  • डेटा तालिकाएँ
  • जेनरिक

.NET फ्रेमवर्क (.NET Framework) 3.0

.NET फ्रेमवर्क (.NET Framework) 3.0, पूर्व WinFX (विनएफएक्स) कहा जाता है,[१९] 21 नवम्बर 2006 को जारी की गई। यह प्रबंधित कोड एपीआई (APIs) की विण्डोज़ विस्ता (Windows Vista) और विण्डोज़ (Windows) सर्वर का एक अभिन्न अंग हैं और इसमें 2008 ऑपरेटिंग सिस्टम का एक नया सेट शामिल है। यह एक डाउनलोड के रूप में भी विण्डोज़ एक्सपी (Windows XP) एसपी2 (SP2) और विण्डोज़ सर्वर (Windows Server) 2003 के लिए उपलब्ध है। कोई प्रमुख वास्तु परिवर्तन इस रिलीज के साथ शामिल नहीं किए गए हैं;.NET फ्रेमवर्क (.NET Framework) 3.0 क्रम के सामान्य भाषा .NET फ्रेमवर्क (.NET Framework) 2.0 का उपयोग करता है।[२०] पिछले प्रमुख .NET रिलीज़ के विपरीत .NET कम्पैक्ट फ्रेमवर्क इस संस्करण के समकक्ष के रूप में जारी नहीं किया गया था।

.NET फ्रेमवर्क (.NET Framework) 3.0 चार नए प्रमुख घटक होते हैं:

.NET फ्रेमवर्क (.NET Framework) 3.5

.NET फ्रेमवर्क (.NET Framework) 3.5 का संस्करण 19 नवम्बर 2007 को जारी किया गया था, लेकिन इसमें विण्डोज़ सर्वर 2008 (Windows Server 2008) शामिल नहीं है। .NET फ्रेमवर्क (.NET Framework) 3.0 के साथ, 3.5 संस्करण 2.0 संस्करण के सीएलआर (CLR) के रूप में उपयोग करता है। इसका मतलब यह पूरी तरह से नया ढांचा नहीं है, लेकिन सिर्फ 2.0 का ही विस्तार है और वह उसके बिना नहीं चल सकता। इसके अलावा, यह .NET फ्रेमवर्क 2.0 एसपी1 (.NET Framework 2.0 SP1) (.NET फ्रेमवर्क (.NET Framework) 3.5 एसपी1 के साथ 2.0 एसपी2 संस्थापित करता है) और .NET फ्रेमवर्क 3.0 एसपी1 (.NET Framework 3.0 SP1) (.NET फ्रेमवर्क (.NET Framework) 3.0 3.5 एसपी1 के साथ एसपी2) स्थापित करता है, जिसमें संस्करण 2.0 के कुछ तरीकों और बीसीएल वर्गों के गुण हैं, जो ऐसी भाषा समन्वित क्वेरी (एलआईएनक्यू (LINQ)) के रूप में संस्करण 3.5 सुविधा के लिए आवश्यक हैं। हालाँकि इन परिवर्तनों से संस्करण 2.0 के लिए लिखित आवेदन प्रभावित नहीं होते.[२१]

पिछले संस्करणों के रूप में, एक नया .NET कम्पैक्ट फ्रेमवर्क 3.5 संगठनों ने मिलकर इस अद्यतन के साथ जारी किया गया ताकि विंडोज़ मोबाइल और विण्डोज़ (Windows) पर अतिरिक्त सुविधाओं के लिए सहायता प्रदान करने के लिए सीई (CE) एंबेडेड उपकरणों के साथ समर्थन दिया जा सके।

बेस कक्षा पुस्तकालय के इस संस्करण में स्रोत कोड आंशिक रूप से (केवल डिबगिंग के लिए) माइक्रोसॉफ्ट (Microsoft) संदर्भ स्रोत लाइसेंस के अंतर्गत जारी किए गए हैं।[१]

3.0 संस्करण के बाद से परिवर्तन

सर्विस पैक 1 स्क्रिप्ट त्रुटि: "anchor" ऐसा कोई मॉड्यूल नहीं है।

.NET फ्रेमवर्क (.NET Framework) 3.5 Service Pack 1 11 अगस्त 2008 को जारी की गई। इस रिलीज में नयी कार्यशीलता और कुछ शर्तों के अधीन कार्य निष्पादन में सुधार, प्रदान किया जाता है[२६] खासकर डबल्यूपीएफ (WPF) के साथ जहां 20-45% सुधार की संभावना है। दो नए आंकड़ों का सेवा घटक जोड़ा गया है, ADO.NET इकाई की रूपरेखा और ADO.NET डेटा सेवाएँ. दो वेब विकास, प्रणाली के लिए नए असेंबली.वेब [Web].अमूर्त और सिस्टम.वेब [Web].अनुमार्गण, जोड़ दिया गया है; और ASP.NET एमवीसी (MVC) फ्रेमवर्क में इस्तेमाल किया जाता है और कथित तौर पर ASP.NET आवेदन फार्मों के भविष्य के रिलीज में उपयोग किया जाएगा। सर्विस पैक 1 एसक्यूएल सर्वर 2008 और दृश्य 2008 सर्विस पैक 1 स्टूडियो के साथ शामिल है। यह नियंत्रण का एक नया सेट फ़ीचर "दृश्य मूल पावर पैक" भी कहा जाता है जो दृश्य मूल नियंत्रण जैसे "पंक्ति" और "आकार" के रूप में वापस लाया गया है।

.NET फ्रेमवर्क (.NET Framework) 3.5 एसपी1 (SP1) ग्राहकों का प्रोफ़ाइल

.NET फ्रेमवर्क (.NET Framework) एसपी1 (SP1) के लिए वहाँ भी .NET फ्रेमवर्क (.NET Framework) का एक नया संस्करण है, "।NET फ्रेमवर्क (.NET Framework) ग्राहकों का प्रोफाइल" कहा जाता है, जिस पर 28 MB महत्त्वपूर्ण पूरे ढांचे से छोटा घटक है जो कि अधिकांश डेस्कटॉप अनुप्रयोग के लिए प्रासंगिक हैं।[२७] हालांकि, ग्राहक इस आकार के प्रोफाइल मात्रा तभी स्थापित कर सकते हैं यदि वे विण्डोज़ एक्सपी एसपी2 (Windows XP SP2) पर ऑनलाइन संस्थापक का इस्तेमाल कर रहे हैं और कोई दूसरी .NET व्यवस्थाएं स्थापित न हों. जब ऑफलाइन संस्थापक या किसी अन्य ऑपरेटिंग सिस्टम का प्रयोग किया जा रहा हो, तो डाउनलोड आकार अभी तक 250 एमबी है।[२८]

.NET फ्रेमवर्क (.NET Framework) 4

माइक्रोसॉफ्ट (Microsoft) ने .NET Framework 4 की घोषणा 29 सितम्बर 2008 को की। Public Beta 20 मई 2009 को जारी किया गया।[३] इस रिलीज की कुछ मुख्या बातें हैं:

28 जुलाई 2009 को। NET फ्रेमवर्क (.NET Framework) 4 बीटा एक second release में प्रायोगिक सॉफ्टवेयर व्यवहार स्मृति के समर्थन के साथ उपलब्ध था।[३५] इस कार्यशीलता के ढांचे के अंतिम संस्करण में उपलब्ध होने के बारे में पुष्टि नहीं की गई है।

19 अक्टूबर 2009 को, माइक्रोसॉफ्ट का .NET फ्रेमवर्क (.NET Framework) 4. बीटा 2 जारी किया गया[३६] इसी समय, माइक्रोसॉफ्ट के लिए। NET फ्रेमवर्क (.NET Framework) 4 मार्च 22, 2010 को जारी करने की उम्मीद की घोषणा की गयी।[३६] इस प्रक्षेपण तारीख को बाद में 12 अप्रैल 2010 तक स्थगित कर दिया गया है।[३७]

प्रकाशन दिनाँक: 2/10/2010 Version:RC

.NET फ्रेमवर्क (.NET Framework) 4 इंच के साथ मिलकर, माइक्रोसॉफ्ट (Microsoft) वृद्धि का एक सेट की पेशकश, डबलिन कूटनाम, Windows Server 2008 आवेदन सर्वर क्षमताओं के लिए[३८][३९] डबलिन आईआईएस बढ़ाने के लिए एक "अनुप्रयोगों के लिए मानक मेजबान" होगा और जो डबल्यूसीएफ (WCF) या डबल्यूएफ (WF) प्रयोग करता है।[३८]

4.0 ASP.NET में एचटीएमएल, जेस्क्रिप्ट टुकड़े, नए विकास प्रोफाइल, फार्म का उपयोग, अनेबलपर्सिसटिडसिलेक्शन उत्पन्न, परिवर्तन web.config, सत्र मूल्यों के लिए संपीड़न सक्षम करने आदि कई नई सुविधाएँ हैं। नई सुविधाओं की अधिक जानकारी [४०]

.NET बनाम जावा और जावा ईई

सीएलआई (CLI) और .NET भाषाओं जैसे C और वीबी (VB) के रूप में सन (Sun) का जेवीएम (JVM) और जावा (Java) के लिए कई समानताएं हैं। दोनों एक आभासी मशीन मॉडल पर आधारित हैं जो कंप्यूटर हार्डवेयर, जिस पर उनके कार्यक्रम चलाने का ब्यौरा है, को छिपती हैं। दोनों अपने स्वयं के मध्यवर्ती बाइट-कोड का उपयोग करते हैं। माइक्रोसॉफ्ट उनकी साझा मध्यवर्ती भाषा (सीआईएल (CIL); पूर्व एमएसआईएल (MSIL)) और सूर्य उनके फोन जावा बाईटकोड को कॉल करती है। .NET पर बाइट-कोड हमेशा क्रियान्वयन से पहले संकलित होता है, या तो बस समय पर (जेआईटी (JIT)) या निष्पादन के अग्रिम में मूल छवि जेनरेटर उपयोगिता (एनजीईएन (NGEN)) के प्रयोग से. जावा के साथ बाइट-कोड या व्याख्या अग्रिम में संकलित या जेआईटी (JIT) संकलित है। दोनों व्यापक श्रेणी के पुस्तकालयों की कई आम प्रोग्रामिंग आवश्यकताओं पता और सुरक्षा मुद्दों कि दूसरे दृष्टिकोण में मौजूद कई पते प्रदान करते हैं। .NET फ्रेमवर्क (.NET Framework) में प्रदान की नेमस्पेस जावा ई एपीआई (API) विवरण में मंच शैली और मंगलाचरण में संकुल के समान है।

अपनी पूर्ण रूप में नेट. (यानी, माइक्रोसॉफ्ट के कार्यान्वयन, मानकीकरण और इस अनुच्छेद के लाइसेंस अनुभाग) में वर्णित केवल एक माइक्रोसॉफ्ट विण्डोज़ ऑपरेटिंग सिस्टम[४१][४२][४३] पर स्थापित किया जा सकता है जबकि उसकी संपूर्णता में जावा चल रहे कंप्यूटर पर जैसे लिनक्स (Linux), सोलरिस (Solaris) मैक ओएस या विण्डोज़ ऑपरेटिंग सिस्टम के रूप में विभिन्न प्रकार के कंप्यूटर पर किसी एक भाग में स्थापित होगा।[४४] इसकी शुरुआत से ही NET. एकाधिक प्रोग्रामिंग भाषाओं का समर्थन करता है और इसकी मुख्य मंच पर नास्तिक और मानकीकृत दूसरे प्लेटफार्मों पर लागू करने तक रहता है (हालांकि माइक्रोसॉफ्ट के कार्यान्वयन ही लक्ष्य विण्डोज़ (Windows), विण्डोज़ सीई (Windows CE) और एक्सबॉक्स (Xbox) प्लेटफार्म ताकि अन्य विक्रेताओं द्वारा इसे क्रियान्वित किया जा सके। जावा वर्चुअल मशीन को भी दोनों भाषा और ऑपरेटिंग सिस्टम नास्तिक[४५] और नारा "लिखें के साथ शुरू किया गया था जो क़ी एक बार, कहीं चला जानेवाला डिजाइन था" जबकि जावा लंबे समय से एक व्यापक अंतर से JVM पर सबसे अधिक भाषा का इस्तेमाल करता रह गया है, गतिशील भाषाओं के लिए हाल ही में इसके समर्थन विकल्पों की लोकप्रियता बढ़ गया है, विशेष रूप से जेरूबी (JRuby), सकाला (Scala), और ग्रूवी (Groovy) में.[४६] (जेवीएम (JVM) भाषाओं को देखें).

सन जावा के संदर्भ कार्यान्वयन (वर्ग पुस्तकालय, संकलक सहित, आभासी मशीन है और विभिन्न जावा प्लेटफार्म से जुड़े उपकरणों) क्लासपाथ अपवाद के साथ जीएनयू (GNU) जीपीएल (GPL) लाइसेंस के अंतर्गत खुला स्रोत है।[४७] .NET फ्रेमवर्क (.NET Framework) आधार वर्ग के पुस्तकालय के लिए स्रोत कोड उपलब्ध है जो केवल माइक्रोसॉफ्ट (Microsoft) संदर्भ लाइसेंस के अंतर्गत संदर्भ उद्देश्यों के लिए है।[४८][४९]

तीसरी पार्टी मोनो परियोजना, नोवेल द्वारा प्रायोजित ईसीएमए (ECMA) मानकों .NET फ्रेमवर्क (.NET Framework) का हिस्सा हैं जो एक खुला स्रोत कार्यान्वयन विकसित करता है, जैसा कि अन्य अधिकतर ईसीएमए (ECMA) माइक्रोसॉफ्ट के .NET मानकीकृत में पुस्तकालयों के रूप में होता है। मोनो कार्यान्वयन का मतलब लिनक्स (Linux) सोलरिस (Solaris), मैक ओएस एक्स, बीएसडी, एचपी-यूएक्स (HP-UX) और विण्डोज़ (Windows) प्लेटफार्मों के लिए रन करना है। मोनो में सीएलआर (CLR) वर्ग पुस्तकालय और C# और VB.NET. के लिए संकलक शामिल हैं। वर्तमान संस्करण माइक्रोसॉफ्ट .NET के 2.0 संस्करण में सभी एपीई (APIs) का समर्थन करता है। इसका पूरा समर्थन सी # 3.0 एलआईएनक्यू (LINQ) के लिए वस्तुएँ और एलआईएनक्यू (LINQ) एक्सएमएल (XML) के लिए मौजूद है।[५०]

आलोचना

. नेट में शामिल कुछ चिंताएं और आलोचना से संबंधित हैं:

  • किसी प्रबंधित परिवेश में चल रहे अनुप्रयोग के समान ही इसमें अधिक सिस्टम संसाधन की आवश्यकता हैं जैसे क़ि सीधे आवेदन से और अधिक मशीन संसाधनों का उपयोग होता है।
  • "सभी प्रबंधित" भाषाओं का इंजीनियरिंग रिवर्स से निवासी कोड आसान है। वहाँ व्यापार रहस्य की संभावित हानि और लाइसेंस व्यवस्था के नियंत्रण को दरकिनार करना अधिक चिंता का विषय है। माइक्रोसॉफ्ट के दृश्य स्टूडियो 2005 में (और नए) एक उपकरण के लिए कोड अंधेरा करना, और कई अन्य तकनीको से इसे रोकने में मदद करना शामिल हैं।
  • रूपरेखा के नए संस्करण (3.5 और) विण्डोज़ 7 (Windows 7) के संस्करणों में पहले से स्थापित नहीं किये जाते हैं। इसके लिए, आवेदन की रूपरेखा के बिना एक प्रक्रिया के माध्यम से उपयोगकर्ताओं के नेतृत्व में इसे स्थापित करना चाहिए॰ कुछ डेवलपर्स ने बड़े आकार के . NET के लिए रूपरेखा क्रम installers-उपयोगकर्ताओं के बारे में चिंता व्यक्त की है। इसका आकर .NET 3.0 के लिए 54 MB, .NET 3.5 के लिए 197 MB और .NET 3.5 एसपी1 (SP1) के लिए 250 MB है (जबकि वेब संस्थापक विण्डोज़ एक्सपी (Windows XP) के लिए विशिष्ट डाउनलोड का उपयोग कर 50 एमबी के आसपास, Windows Vista (विण्डोज़ विस्ता) के लिए - 20 एमबी है). आकार मुद्दे को। NET 4 संस्थापक (एक्स86 + एक्स64) के लिए आंशिक रूप से 54 एमबी के साथ हल किया जाता है।
    • 3.5 संस्करण के लिए पहली सर्विस पैक .NET फ्रेमवर्क (.NET Framework) का एक पूरा लाइटर-वजन ग्राहक सबसेट क़ि पेशकश करके इस चिंता को दूर करता है। यद्यपि दो महत्त्वपूर्ण सीमाओं का उल्लेख किया जाना चाहिए॰[५१] सबसे पहले, केवल ग्राहक सबसेट केवल एक मौजूदा विण्डोज़ एक्सपी एसपी2 (Windows XP SP2) प्रणाली में वर्तमान है जो .NET स्थापित ढांचे के कोई अन्य संस्करण पर एक विकल्प है। अन्य सभी स्थितियों में, ग्राहक केवल Installer.NET फ्रेमवर्क (.NET Framework) 3.5 एसपी1 (SP1) के पूर्ण संस्करण स्थापित हो जाएगा। दूसरे, ग्राहक केवल ढांचे के एक 64-बिट विकल्प नहीं है। लेकिन, NET फ्रेमवर्क (.NET Framework) ग्राहकों का प्रोफाइल के 4 रिलीज के सभी ऑपरेटिंग सिस्टम और सभी स्थापत्य पर उपलब्ध है (आईए64 (ia64) को छोड़कर) और .NET फ्रेमवर्क (.NET Framework) उनके सहयोग से पूरा होगा।[५२]
  • .NET फ्रेमवर्क (.NET Framework) वर्तमान में प्रबंधित कोड के माध्यम से स्ट्रीमिंग एसआईएमडी (SIMD) एक्सटेंशन्स{/० (एसएसई (SSE)) फोन करने के लिए सहायता प्रदान नहीं करता है। हालांकि, मोनो 2.2 संस्करण के रूप में मोनो भीतर एसआईएमडी (SIMD) एक्सटेंशन्स के लिए सहायता प्रदान करता है। एसआईएमडी (Simd) नेमस्पेस; मोनो नेतृत्व डेवलपर Miguel de Icaza या उम्मीद है कि इस एसआईएमडी (SIMD) समर्थन सीएलआर ईसीएमए (CLR ECMA) मानक द्वारा अपनाई जाएगी॰[५३] स्ट्रीमिंग एसआईएमडी (SIMD) एक्सटेंशन्स पेंटियम III की शुरूआत के बाद से CPUs में उपलब्ध है। हालांकि, जोड़ने वाला सीपीयू (CPU) विशिष्ट कार्यान्वयन के पोर्टेबिलिटी कम. नेट, इसकी डिजाइन लक्ष्यों में से एक होगा।

वैकल्पिक implementations

.NET फ्रेमवर्क (.NET Framework) माइक्रोसॉफ्ट के .NET प्रौद्योगिकियों के प्रमुख कार्यान्वयन है। ढांचे के भागों के लिए अन्य कार्यान्वयन मौजूद हैं। हालांकि एक ईसीएमए/आईएसओ विनिर्देशन द्वारा वर्णित क्रम इंजन के अन्य कार्यान्वयन को पेटेंट मुद्दों से भारग्रस्त किया जा सकता है; आईएसओ मानक / अस्वीकृति शामिल हो सकते हैं, इस दस्तावेज़ के तत्वों में से कुछ का विषय पेटेंट अधिकार हो सकता है संभावना के लिए तैयार सावधान रहना होता है। आईएसओ (ISO) किसी एक या सभी तरह पेटेंट अधिकारों की पहचान के लिए जिम्मेदार नहीं 'होगा[५४] आधार वर्ग पुस्तकालय (बीसीएल (BCL)) के लिए विकल्प का विकास अधिक मुश्किल है, जो एक खुला मानक से वर्णित नहीं है और हो कॉपीराइट प्रतिबंध के अधीन है। इसके अतिरिक्त, बीसीएल (BCL) के कुछ हिस्से विण्डोज़-विशिष्ट कार्यक्षमता और व्यवहार है, इसलिए कार्यान्वयन-विण्डोज़ प्लेटफार्म समस्याग्रस्त हो सकता है।

ढांचे के भागों में से कुछ वैकल्पिक कार्यान्वयन यहाँ सूचीबद्ध हैं।

  • माइक्रोसॉफ्ट के साझा स्रोत साझा भाषा बुनियादी सुविधा।NET फ्रेमवर्क (.NET Framework) के सीएलआर (CLR) घटक के एक साझा स्रोत कार्यान्वयन है। हालांकि, पिछले संस्करण केवल माइक्रोसॉफ्ट विण्डोज़ एक्सपी एसपी2 (Microsoft Windows XP SP2) पर चलता है और इसमें .NET फ्रेमवर्क (.NET Framework) 2.0 के संस्करण के सभी सुविधाएँ शामिल नहीं है।
  • माइक्रोसॉफ्ट का .NET फ्रेमवर्क अत्यंत सूक्ष्म संसाधन के लिए एक .NET मंच वाले उपकरणों का विवश है। इसमें .NET CLR का एक छोटा संस्करण शामिल है और यह सी में विकास और डिबगिंग का (एक एम्युलेटर या हार्डवेयर पर) का समर्थन करता है, दोनों माइक्रोसॉफ्ट (Microsoft) दृश्य स्टूडियोका उपयोग करते हैं। यह .NET आधार वर्ग पुस्तकालयों के एक सबसेट विशेषताएं (लगभग 70 वर्ग 420 तरीकों के साथ), एक जी यू आई (GUI) शिथिल विण्डोज़ (Windows) प्रस्तुति फाउंडेशन के आधार पर ढांचा और अतिरिक्त अंतर्निहित अनुप्रयोगों के लिए विशिष्ट पुस्तकालय है।
  • मोनो सीएलआई (CLI) और .NET बेस कक्षा लाइब्रेरी (बीसीएल (BCL)) के भाग के एक कार्यान्वयन है और अतिरिक्त कार्यक्षमता प्रदान करता है। यह दोहरे लाइसेंस मुफ्त सॉफ्टवेयर और मालिकाना सॉफ्टवेयर लाइसेंस के अंतर्गत है। मोनो नोवेलइंक. द्वारा विकसित किया जा रहा है और इसमें ASP.NET, ADO.NET और Windows Forms पुस्तकालयों के लिए तैयार करने का समर्थन शामिल है। इसमें एक सी # संकलक और एक VB.NET संकलक पूर्व में बीटा रूप में भी शामिल है।
  • CrossNet सीएलआई (CLI) और .NET बेस कक्षा लाइब्रेरी (बीसीएल (BCL)) के भाग के एक कार्यान्वयन है। यह मुफ़्त सॉफ्टवेयरहै। यह .NET विधानसभाओं और मानक उत्पन्न सी++ कोड, कम्पईलेबल और किसी एएनएसआई (ANSI) सी के भीतर लिंकेबल (linkable) सी++ किसी भी मंच पर आवेदन को पास करता है।
  • .NET for Symbian .NET सिम्बियन के लिए कम्पैक्ट फ्रेमवर्क कार्यान्वयन (एस60) (S60)
  • Portable.NET डोटजीएनयू (DotGNU) (सामान्य भाषा बुनियादी सुविधा सीएलआई (CLI) का हिस्सा, .NET बेस कक्षा लाइब्रेरी (बीसीएल (BCl)) के एक भाग और एक सी# संकलक को कार्यान्वयन प्रदान करता है। यह कई प्रकार के सीपीयू (CPUs) और ऑपरेटिंग सिस्टम का समर्थन करता है।

इन्हें भी देखें

"अवयव और पुस्तकालय"

सन्दर्भ

साँचा:reflist

बाहरी कड़ियाँ

साँचा:wikibooks साँचा:wikiversity

साँचा:DotNET

wikibooks:en:.NET Development Foundation

  1. साँचा:cite web
  2. साँचा:cite web
  3. साँचा:cite web
  4. साँचा:web cite
  5. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  6. साँचा:web cite
  7. साँचा:web cite
  8. साँचा:web cite
  9. साँचा:cite web
  10. साँचा:cite web
  11. साँचा:cite web
  12. साँचा:cite web
  13. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  14. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  15. साँचा:cite web
  16. साँचा:web cite
  17. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  18. साँचा:cite web
  19. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  20. साँचा:cite web
  21. साँचा:cite web
  22. साँचा:cite web
  23. साँचा:cite web
  24. साँचा:cite web
  25. साँचा:cite web
  26. साँचा:cite web
  27. साँचा:cite web
  28. साँचा:cite web
  29. साँचा:cite web
  30. साँचा:cite web
  31. साँचा:cite web
  32. साँचा:cite web
  33. साँचा:cite web
  34. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  35. साँचा:cite web
  36. साँचा:cite web
  37. साँचा:cite web
  38. साँचा:cite web
  39. साँचा:cite webसाँचा:category handlerसाँचा:main otherसाँचा:main other[dead link]
  40. साँचा:cite web
  41. साँचा:web cite
  42. साँचा:web cite
  43. साँचा:web cite
  44. साँचा:web cite
  45. साँचा:web cite
  46. साँचा:web citeसाँचा:category handlerसाँचा:main otherसाँचा:main other[dead link]
  47. साँचा:web cite
  48. साँचा:web cite
  49. साँचा:web cite
  50. साँचा:cite web
  51. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  52. साँचा:cite web
  53. स्क्रिप्ट त्रुटि: "citation/CS1" ऐसा कोई मॉड्यूल नहीं है।
  54. आईएसओ (ISO) 9001:2008, प्रस्तावना