c# - CS1617: अमान्य विकल्प '6'/langversion के लिए; ISO-1, ISO-2, 3, 4, 5 या डिफ़ॉल्ट होना चाहिए




asp.net asp.net-mvc (8)

Windows 2008 सर्वर मशीन पर एक ASP ASP MVC अनुप्रयोग (VS 2015 समुदाय से सीधे बाहर) चलाते समय उस त्रुटि को रखा गया।


6 से 5 तक भाषा संस्करण को बदलने के बजाय, संकलक टैग पर "प्रकार" विशेषता को बदलें

Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

सेवा

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

Microsoft.Net.Compilers Nuget पैकेज को नवीनतम संस्करण में अपग्रेड करें (कम से कम 2.x)


बहुत सारे लोग इसमें भाग रहे हैं, इसलिए मैं यहां पोस्ट करना चाहता था।

इस आदमी के लिए एक पागल आसान वर्कअराउंड धन्यवाद मिला: Expertdebugger

बस अपने भाषा संस्करण को C # 6 से C # 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″>
        <providerOption name=”CompilerVersion value=”v4.0″/>
      </compiler>
      <compiler language=”vb;vbs;visualbasic;vbscript extension=”.vb type=”Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 warningLevel=”4 compilerOptions=”/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+”>
          <providerOption name=”CompilerVersion value=”v4.0″/>
      </compiler>
    </compilers>
  </system.codedom>

langversion:6 बदलें langversion:6 नीचे से 6 से 5 तक - langversion:5

इसे मेरे लिए तय किया। उसे धन्यवाद दो।


मेरे मामले में त्रुटि थी:

CS1617 के लिए अमान्य विकल्प 'नवीनतम' / langversion के लिए; ISO-1, ISO-2, डिफ़ॉल्ट या 1 से 6 की सीमा में पूर्णांक होना चाहिए।

मैंने नोटपैड के साथ अपनी .csproj फ़ाइल खोली और मैंने यह पंक्ति देखी:

<PropertyGroup>
    <LangVersion>latest</LangVersion>
</PropertyGroup>

मैंने एक पूर्णांक के लिए नवीनतम को श्रेणी 1 से 6 में बदल दिया

<LangVersion>6</LangVersion>

त्रुटि गायब हो गई!


मेरे लिए सबसे आसान समाधान पैकेज प्रबंधक के माध्यम से .Net कंपाइलर्स को अपग्रेड करना था

Microsoft.Net.Compilers स्थापित करें

और फिर इस के लिए Web.Config लाइनों को बदलना

        <system.codedom>
 <compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
 </compilers>
</system.codedom>

मैंने Microsoft.Net.Compilers को 2.0 या उच्चतर संस्करण में अद्यतन किया है

यह देखो


मैंने सिर्फ langversion को default में बदल दिया और यह मेरे लिए काम कर गया। वीएस 2015

<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:default /nowarn:1659;1699;1701″>
    <providerOption name=”CompilerVersion value=”v4.0″/>
  </compiler>
  <compiler language=”vb;vbs;visualbasic;vbscript extension=”.vb type=”Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 warningLevel=”4 compilerOptions=”/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+”>
      <providerOption name=”CompilerVersion value=”v4.0″/>
  </compiler>
</compilers>


यदि आप C # 6.0 का उपयोग करना चाहते हैं:

  1. सुनिश्चित करें कि आपकी परियोजना का .NET संस्करण 4.5.2 से अधिक है।
  2. और फिर निम्नलिखित संशोधनों को करने के लिए अपनी .config फ़ाइल की जाँच करें।

system.codedom लिए देखें। system.codedom और इसे संशोधित करें ताकि यह नीचे दिखाए गए अनुसार दिखाई दे:

<system.codedom>
 <compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
 </compilers>
</system.codedom>







iis