La fonctionnalité 'interpolated strings' n'est pas disponible en C# 5. Veuillez utiliser la version linguistique 6 ou plus.

la ligne suivante ne se compile pas quand je mets dans une vue de rasoir.

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

cependant dans le controller la même ligne fonctionne parfaitement bien.

Pourquoi Je ne peux pas utiliser l'interpolation de chaîne sur les vues de rasoir? ou peut-être que j'ai besoin de configurer quelque chose?

10
demandé sur Luis Valencia 2015-08-06 01:45:31

3 réponses

si vous rencontrez cette erreur dans un projet .net 4.5.1, la mise à niveau à 4.5.2 résout le problème.

2
répondu omufeed 2015-09-03 12:11:32

vous devez l'encapsuler avec des bagues comme celle-ci:

EDIT: j'ai mis à jour parce qu'il manquait un curly.

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

j'ai essayé le suivant:

 @($"It is {DateTime.Now}")
2
répondu sprinter252 2015-08-06 14:55:46

la clé est de voir la partie compilerOptions="/langversion:6 de ce qui suit dans votre web.config. Sans lui, j'ai eu des erreurs en essayant d'utiliser l'interpolation de chaîne à l'intérieur d'un .fichier cshtml.

  <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
répondu user3785010 2017-08-30 23:35:41