c# यह कोड Visual Studio 2015 को क्रैश क्यों करता है?



माइक्रोसॉफ्ट विज़ुअल सी++ (1)

यह github.com/dotnet/roslyn/issues/24978 एक github.com/dotnet/roslyn/issues/24978 । यह बग किसी भी दृश्य स्टूडियो के संस्करण को प्रभावित करेगा जो रोजलिन का उपयोग करता है।

अगर मैं वर्जनऑफ.नेट को सही ढंग से व्याख्या कर रहा हूं, तो रोसलिन बिल्ट-इन के साथ विजुअल स्टूडियो का पहला संस्करण 2015 है। इससे पहले, मुझे लगता है कि यह केवल एक्सटेंशन के रूप में उपलब्ध था। इसलिए, दृश्य स्टूडियो 2013 और पूर्व अप्रभावित होना चाहिए।

यह माइलस्टोन 16 रिलीज में तय होने के कारण है। इस समय, वह रिलीज़ शेड्यूल नहीं की गई है।

क्योंकि यह रोजलिन में एक बग है, आप "स्टूडियो के आसपास के पुराने संस्करण में unsafe struct वाले कोड को संपादित और संकलन करके इसे" लगभग "प्राप्त कर सकते हैं, जो कि रोजलिन से मिलता है। विजुअल स्टूडियो 2012 को काम करना चाहिए। फिर आप अपने वर्तमान सॉफ़्टवेयर में परिणामी .DLL का उपयोग कर सकते हैं।

यदि आप इस शाखा से रोज़लिन का निर्माण करते हैं तो एक असत्यापित फ़िक्स उपलब्ध है। इस प्रतिबद्ध में तय किया गया था।

https://code.i-harness.com

किसी कारण से, यहां तक ​​कि विजुअल स्टूडियो में C # फ़ाइल में इसे टाइप करने के लिए इतना ही पर्याप्त है कि यह तुरंत दुर्घटना का कारण बन सकता है। क्यूं कर?

unsafe struct node {
    node*[] child;
}

ऐसा प्रतीत होता है कि जब IDE कीवर्ड और इस तरह रंग भरना शुरू करेगा।

TIO में इसे csc.exe exited with code 1 बाहर csc.exe exited with code 1 देता है जो बहुत उपयोगी नहीं है।

जबकि C # में सरणी घोषणाएं C / C ++ की तुलना में भिन्न हैं, ऊपर ऐसा लगता है कि यह पूरी तरह से मान्य होना चाहिए। यह क्यों नहीं है, और यह विजुअल स्टूडियो को क्यों दुर्घटनाग्रस्त करता है?

मेरा विजुअल स्टूडियो संस्करण 14.0.23107 है।





roslyn