/ Langversion के लिए त्रुटि अमान्य विकल्प '6'; ISO-1, ISO-2, 3, 4, 5 या डिफ़ॉल्ट होना चाहिए


90

मैं .NET 4.6 को लक्षित करने का प्रयास कर रहा हूं और C # भाषा संस्करण को 6 में बदलकर नवीनतम C # संस्करण का लाभ भी उठा रहा हूं।

हालाँकि संकलन के दौरान मुझे यह त्रुटि मिली:

/ Langversion के लिए त्रुटि अमान्य विकल्प '6'; ISO-1, ISO-2, 3, 4, 5 या डिफ़ॉल्ट होना चाहिए

अगर मैं /langversion:6Web में अपडेट करता हूं । Config सेटिंग 5 पर काम करता है,

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701">

लेकिन कम भाषा संस्करण का सहारा लिए बिना मैं इसे कैसे हल करूं?

मैं विजुअल स्टूडियो 2015 कम्युनिटी एडिशन का उपयोग कर रहा हूं, और मैंने केवल .NET फ्रेमवर्क 4.6 को मैन्युअल रूप से स्थापित किया है, केवल दृश्य स्टूडियो 2015 द्वारा डिफ़ॉल्ट रूप से इसे स्थापित नहीं किया गया था।

प्रोजेक्ट Visual Studio 2015 द्वारा बनाई गई एक मानक ASP.NET MVC टेम्पलेट प्रोजेक्ट है।


1
मेरे मामले में मुझे केवल हटाना पड़ा /langversion:6...
bohdan_trotsenko

@modosansreves जो कि डिफ़ॉल्ट भाषा संस्करण में वापस आ जाएगी .. जो कि C # 5 है, मेरा मानना ​​है ... कृपया जांचें कि क्या आप C # 6 भाषा की किसी भी सुविधा का उपयोग कर सकते हैं।
रोजडी कासिम

वास्तव में। यह C # 6 सुविधाओं का उपयोग करने से वंचित करता है। धन्यवाद।
बोहदन_त्रोतेंको

जवाबों:


89

Web.Configफ्रेमवर्क संस्करण बदलते समय, फ़ाइल में "टाइप" संकलक पर ध्यान दें :

4.5 और सी # 5 के लिए -

type="Microsoft.CSharp.CSharpCodeProvider...

4.6 और सी # 6 के लिए -

type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

इस मंच पोस्ट में अधिक जानकारी


20
यह काम करता है! .. हालाँकि मैं इसे Visual Studio 2015 में बग के रूप में मानता हूं, जब मैं अपने आवेदन को .NET 4.6 और C # 6. पर फिर से अपडेट न करने के लिए स्वचालित रूप से इसे अपडेट करता हूं
Rosdi Kasim

मुझे लगता है कि आप सही हैं। मैं इसके साथ डगमगा गया और आपके सवाल से लड़खड़ा गया। सौभाग्य से मुझे मिली अगली कड़ी का जवाब था।
ड्रयूबी

1
क्या सभी .NET लक्ष्य के लिए यूनिवर्सल CSharpCodeProvider है?
डेन्फ्रोमुफा

1
मेरे web.config का सही प्रकार था और भाषा संस्करण डिफ़ॉल्ट रूप से सेट किया गया था <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />बस समाधान की सफाई और इसे मेरे लिए वीएस 2019 में तय किया गया था।
joym8

31

समस्या को हल करने के लिए निम्न NuGet संकुल (जो भी स्थापित हो) को अद्यतन करें:

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  • Microsoft.Net.Compilers

यह एक उत्तर की तुलना में अधिक टिप्पणी है
अल लेलोपैथ

2
यही है असली समाधान !! इस नौगेट पैकेज को अनइंस्टॉल करें और मेरे लिए हल की गई समस्या
जिओमोरिलो

मैंने c # 6.0 पर स्विच किया, लेकिन पैकेज अभी भी पुराने संस्करण पर था। 1.0 से 1.0.4 तक अपडेट करना मेरे लिए काम कर गया।
मिक्सक्सीफॉइड

7
@AlLopopath सिर्फ इसलिए कि यह एक छोटा सा जवाब है यह टिप्पणी नहीं करता है। इस छोटी "टिप्पणी" ने मेरे और अन्य लोगों के लिए इस मुद्दे को हल किया, इसलिए यह एक उत्तर के रूप में बेहतर रहता है।
शिमी वेइटहैंडलर 5

14

1.Go प्रोजेक्ट करने के लिए और अपने प्रोजेक्ट गुणों का चयन करें।

2 बिल्ड चुनें और उन्नत बटन पर क्लिक करें।

3. भाषा संस्करण डिफ़ॉल्ट डिफ़ॉल्ट रूप से चुनें।

4. सेव।

https://youtu.be/IP8feQeWqkk


VS2013 में यह त्रुटि थी। यह समाधान मेरे लिए दुर्भाग्य से काम नहीं किया।
20-29

2
यह एक मेरे लिए काम किया। अन्य सभी सुझाए गए समाधान web.config फ़ाइल को बदलने या वैकल्पिक रूप से NuGet पैकेज / अपडेट डाउनलोड करने के आसपास घूमते हैं। कंपाइलर एक अमान्य संस्करण के बारे में त्रुटियों को फेंकता रहा, जिसने मुझे भ्रमित कर दिया क्योंकि मेरे पास उस फ़ाइल में सेटिंग नहीं थी। उन्नत बिल्ड प्रॉपर्टीज़ को स्वचालित रूप से NuGet पैकेज अपडेट द्वारा अपडेट नहीं किया गया था।
किरण रामास्वामी

3

मैं इस तरह के व्यवहार से मिला अगर परियोजना को पूरी तरह से वीएस2015 में अपग्रेड नहीं किया गया था। यदि आप VS2013 में 2015 से समाधान खोलते हैं - तो आपको यह त्रुटि मिलेगी


मुझे भी, मुझे लगता है कि यह त्रुटि मूल रूप से मतलब है कि आपको VS2015 स्थापित करना होगा! परियोजना पर कोई और नई भाषा सुविधाओं का उपयोग कर रहा है जो 2013 के साथ सामना नहीं कर सकता है
जोनीरा


0

ASP.NET अजीब संकलन त्रुटि का उत्तर देखें !

अपनी C # भाषा को केवल 5 पर अपग्रेड करना समस्या का सामना करता है, जैसे ही कोई C # 6 फीचर का उपयोग करता है आपकी वेबसाइट / प्रोजेक्ट टूट जाएगा और आप फिर भी इसे ठीक करने में समय व्यतीत करेंगे। लिंक में समाधान का प्रयास करें।


0

जब मैं विजुअल स्टूडियो 2019 में पहली बार एप्लिकेशन लोड कर रहा था तो मेरे पास भी ऐसा ही मुद्दा था। "Microsoft.CodeDom.Providers.DotNetCompilerPlatform" nuget को अपडेट करने के बाद के वर्जन में मेरे लिए ट्रिक आई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.