यहां बहुत सारे जवाब रोजलिन से पहले लिखे गए थे (ओपन-सोर्स .NET C # और VB कंपाइलर) से पहले .NET 4.6 पर जाने से । यदि आपका प्रोजेक्ट लक्ष्य, 4.5.2, जैसा कि मेरा किया (विरासत में मिला और बदला नहीं जा सकता) तो वे आपकी मदद नहीं करेंगे।
लेकिन आप रोसलिन के पिछले संस्करण को https://www.nuget.org/packages/Microsoft.Net.Compilers से पकड़ सकते हैं और नवीनतम संस्करण के बजाय स्थापित कर सकते हैं । मैंने 1.3.2 का उपयोग किया। (मैंने 2.0.1 की कोशिश की - जो .NET 4.5 पर चलने वाला अंतिम संस्करण प्रतीत होता है - लेकिन मैं इसे * संकलन करने के लिए नहीं प्राप्त कर सका।) वीएस 2013 में पैकेज मैनेजर कंसोल से इसे चलाएं:
PM> Install-Package Microsoft.Net.Compilers -Version 1.3.2
फिर Visual Studio को पुनरारंभ करें। मुझे शुरू में कुछ समस्याएं हुईं; आपको डिफ़ॉल्ट रूप से C # संस्करण सेट करने की आवश्यकता है (C # 6.0 संस्करण सूची में प्रकट नहीं होता है, लेकिन लगता है कि इसे डिफ़ॉल्ट बना दिया गया है), फिर स्वच्छ, सहेजें, VS को पुनः आरंभ करें और पुन: खोलें।
दिलचस्प बात यह है कि कोड में इस्तेमाल किए गए C # 6.0 फीचर्स (जो पहले स्थान पर C # 6.0 चाहने का कारण थे) के कारण मुझे कोई IntelliSense त्रुटि नहीं हुई।
* संस्करण 2.0.1 त्रुटि फेंक दी "Microsoft.CodeAnalysis.BuildTasks.Csc कार्य असेंबली Microsoft से लोड नहीं किया जा सका। Build.Tasks.CodeAnalysis.dll फ़ाइल या असेंबली को लोड नहीं कर सका। Microsoft .Build.Utilities.Core, संस्करण = 14.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11d50a3a 'या इसकी कोई एक निर्भरता। सिस्टम निर्दिष्ट फ़ाइल नहीं ढूँढ सकता। पुष्टि करें कि घोषणा सही है, कि असेंबली और उसकी सभी निर्भरताएँ उपलब्ध हैं, और कार्य में एक समाहित है। सार्वजनिक वर्ग जो Microsoft को लागू करता है। Build.Framework.ITask।
अद्यतन एक बात जो मैंने इस उत्तर को पोस्ट करने के बाद से देखी है वह यह है कि यदि आप डिबग ("संपादित करें और जारी रखें") के दौरान किसी भी कोड को बदलते हैं, तो आप पाएंगे कि आपका C # 6.0 कोड अचानक त्रुटियों के रूप में दिखाई देगा जो कि वापस लौटने में लगता है। पूर्व-सी # 6.0 वातावरण। इसके लिए आपके डिबग सत्र को पुनरारंभ करना होगा। विशेष रूप से वेब अनुप्रयोगों के लिए बहुत कष्टप्रद।