Feature 'interpolated strings' is not available in C# 5. Please use language version 6 or greater.

后端 未结 3 1347
南笙
南笙 2021-01-17 14:29

The following line does not compile when I put in a Razor View.

var extPropLookupNameCompania = $\"extension_{SettingsHelper.ClientId.Replace(\"-\", \"\")}_{         


        
相关标签:
3条回答
  • 2021-01-17 15:12

    The key is to see the compilerOptions="/langversion:6 portion of the following in your web.config. Without it I got errors trying to use string interpolation inside a .cshtml file.

      <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>

    0 讨论(0)
  • 2021-01-17 15:25

    If you are experiencing this error in a .NET Framework 4.5.1 project, upgrading to 4.5.2 solves the problem.

    0 讨论(0)
  • 2021-01-17 15:29

    You have to encapsulate it with braces like this:

    EDIT: I updated because there was a missing curly.

    var extPropLookupNameCompania = $("{extension_{SettingsHelper.ClientId.Replace("-", "")}_{"Compania"}");
    

    I tried the following successfully:

     @($"It is {DateTime.Now}")
    
    0 讨论(0)
提交回复
热议问题