जहां वास्तव में यह स्थित या होस्ट
यह सिर्फ एक सादे DLL है, तो आप वापस मिल जाएगा सी में यह x86 संस्करण है: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4। 0.३०,३१९ \ clrjit.dll। X64 संस्करण फ्रेमवर्क 64 निर्देशिका में है। .NET v2 संस्करण का एक अलग नाम था, mscorjit.dll, इसे v2.0.50727 निर्देशिकाओं में वापस ढूंढें।
यह "होस्टेड" नहीं है, ऑपरेटिंग सिस्टम पूरी तरह से अनजान है कि यह मौजूद है। सीएलआर जानता है कि इसे कैसे ढूंढें और लोड करें। अनिवार्य रूप से, यह सीएलआर है जो एक कार्यक्रम शुरू करने का फैसला करता है। इसमें बस डीएलएल नाम हार्ड-कोड किया गया है और इसे लोड करने के लिए लोड लाइब्रेरी ("clrjit.dll") का उपयोग करें, कारखाना फ़ंक्शन प्राप्त करने के लिए GetProcAddress ("getJit")। कोरकएलआर स्रोत कोड में आप कुछ देख सकते हैं, भले ही जिटर उस सीएलआर संस्करण में एक अलग डीएलएल नहीं है।
आप एक्सप्लोरर के साथ सीएलआर भी देख सकते हैं, फिर से सिर्फ एक सादा डीएलएल। यह v2 संस्करणों में mrcorwks.dll और mscorsvc.dll में clr.dll है v2 संस्करणों में। अलग-अलग कचरा कलेक्टरों के साथ दो अलग-अलग लोग, "wks" वर्कस्टेशन संस्करण है, "svc" सर्वर संस्करण है। <gcServer>
कॉन्फ़िगर फ़ाइल प्रविष्टि की तुलना करें।
जो सवाल उठाता है कि "सीएलआर कैसे लोड हो जाता है?" यह c: \ windows \ syswow64 \ mscoree.dll का काम है, जब आप अपने EXE प्रोजेक्ट में x64 को लक्षित करते हैं तो आप c: \ windows \ system32 \ mscoree.dll का उपयोग करेंगे। प्रत्येक .NET असेंबली में अप्रबंधित कोड के 5 या 9 बाइट होते हैं, जो उस डीएलएल में कूदते हैं। या तो _CorExeMain या _CorDllMain, इस पर निर्भर करता है कि असेंबली exe या पुस्तकालय के रूप में बनाया गया था या नहीं। mscoree.dll असेंबली में मेटाडेटा को देखता है और निर्णय लेता है कि सीएलआर के किस संस्करण को लोड करने की आवश्यकता है ताकि इसे ठीक तरह से निष्पादित किया जा सके।
बहुत अधिक शेंगेनियां चल रही हैं, मैंने अभी 10,000 फीट व्यू पोस्ट किया है जिसके लिए आपने पूछा था। यदि यह आपकी रूचि रखते हैं तो आप शायद पर्दे के पीछे आदमी को देखने के लिए custom CLR hosting के बारे में और जानना चाहते हैं।
स्रोत
2015-07-10 23:02:01
क्या यह वास्तव में बहुत महत्वपूर्ण है यदि फ्रिज छोटे elves के उपयोग या भौतिकी के नियमों के माध्यम से ठंडा हो जाता है? :-) – xanatos
डीएनएक्स कैसे काम करता है और यह .NET रनटाइम से अलग कैसे है इस पर एक स्पष्टीकरण के लिए http://stackoverflow.com/a/30377175/613130 देखें ... प्रश्न – xanatos
@xanatos से जुड़ा हुआ है, अगर आप elves में से एक बनना चाहते हैं, मैं कहूंगा कि यह बहुत महत्वपूर्ण है। – atlaste