C#5中不提供“插值字符串”function。请使用语言版本6或更高版本。

当我放入Razor View时,以下行不会编译。

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

但是在控制器中,同一条线的工作完全正常。

为什么我不能在剃刀视图上进行用户字符串插值? 或者我可能需要配置一些东西?

如果在.NET Framework 4.5.1项目中遇到此错误,则升级到4.5.2可解决此问题。

你必须用这样的大括号封装它:

编辑:我更新,因为有一个缺少curl。

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

我成功尝试了以下内容:

  @($"It is {DateTime.Now}") 

关键是在你的web.config中看到下面的compilerOptions =“/ langversion:6部分。没有它我尝试在.cshtml文件中使用字符串插值时出错。