2016-01-20 8 views
5

हमारे पास this announcement है कि नेट कोर का नाम बदलकर 1.0 कर दिया जा रहा है (भ्रमित, लेकिन ठीक है, जो भी हो)। इसमें हंसेलमैनक्या नेट कोर एक ही आईएल मानक के रूप में उत्पन्न करता है। नेट?

It doesn't yet support VB or F#. 

जो मुझे लगता है कि मुझे कुछ याद आ रहा है। मेरा तर्क इस प्रकार काम करता है।

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

+0

संभवतः उन भाषाओं में भाषा विशिष्ट संदर्भ डीएलएस (जैसे Microsoft.VisualBasic.dll) हैं जिनके अपने संदर्भ हैं जो कोर का समर्थन नहीं करते हैं। – Jeff

+0

@ जेफ अच्छी तरह से हाँ, लेकिन मैंने उस प्रश्न में शामिल किया - आपके पास * vb ऐप में 'Microsoft.VisualBasic.dll' का उपयोग करने के लिए * नहीं है (और आप इसे सी # एक में ठीक से उपयोग कर सकते हैं)। तो यह या तो यह डीएल को नेट कोर में स्थानांतरित नहीं किया गया है लेकिन आईएल समान है और यह बिल्कुल सही नहीं है कि vb-wont-work, या वास्तविक आईएल अलग है। जो यह है? –

+5

आईएल का केवल एक ही प्रकार है, .NETCore संस्करण अलग नहीं है। आपकी धारणा है कि Microsoft.VisualBasic.dll आवश्यक नहीं है सटीक नहीं है, संकलक ऑटो-जेनरेट करता है जो इसका उपयोग करता है। मूलभूत सामान, जैसे स्ट्रिंग तुलना, जिसे विकल्प तुलना का पालन करना आवश्यक है। एफ # और FSharp.Core.dll के लिए बहुत कुछ –

उत्तर

2

हाँ, यह एक ही आईएल उत्पन्न

(मैं इसे जवाब देने के लिए विरोध नहीं कर सकता है कि साधारण)

फिर भी, वीबी भाग रहे हैं: वीबी समर्थन के बारे में: नेट कोर पर चल रहा है एक संकलक की आवश्यकता है (Roslyn में कार्यान्वित), एक सीएलआई कमांड dotnet-compile-vb (लागू नहीं किया गया ... एफ # समुदाय के लिए इसे अब तक वितरित किया गया है) और Microsoft.VisualBasic का एक समर्थित संस्करण (कोरफैक्स में लागू)। मुझे लगता है कि विजुअलबासिक समर्थन का बिंदु उदा। एएसपी.नेट सिग्नलआर। कोड 9 5% है, यह चलता है, लेकिन यह आधिकारिक तौर पर परीक्षण और समर्थित नहीं है। यह समय-सारिणी की बात है कि प्रौद्योगिकियों की नहीं।

आईएमएचओ: यह देखते हुए कि Microsoft.VisualBasic असेंबली वहां है और आईएल समान है, यह सिद्धांत में तब तक संकलित वीबी असेंबली निष्पादित कर सकता है जब तक कि कंपाइलर सिस्टम का उपयोग नहीं करता। रनटाइम आधारित कोर प्लेटफॉर्म।

संबंधित मुद्दे