La siguiente línea no se compila cuando coloco una Razor View.
var extPropLookupNameCompania = $"extension_{SettingsHelper.ClientId.Replace("-", "")}_{"Compania"}";
Sin embargo, en el controlador, la misma línea funciona perfectamente bien.
¿Por qué no puedo interpolar cadenas de usuario en las vistas de la maquinilla de afeitar? o ¿Tal vez necesito configurar algo?
Si experimenta este error en un proyecto de .NET Framework 4.5.1, la actualización a 4.5.2 resuelve el problema.
Tienes que encapsularlo con llaves como esta:
EDITAR: actualicé porque faltaba un rizado.
var extPropLookupNameCompania = $("{extension_{SettingsHelper.ClientId.Replace("-", "")}_{"Compania"}");
Intenté lo siguiente con éxito:
@($"It is {DateTime.Now}")
La clave es ver la parte compilerOptions="/langversion:6 de lo siguiente en su web.config. Sin ella, obtuve errores al intentar usar la interpolación de cadenas dentro de un archivo .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=\"Web\" /optionInfer+" /> </compilers> </system.codedom>