如何使剃刀视图引擎使用c#6.0

目前我的剃刀视图引擎抛出错误并说“请使用语言版本6或更高版本”。 那可能只是重新给我一个指针。 但是我如何使用剃刀使用c#6.0。 我在cs文件中的其余解决方案我可以使用所有新版本7的function。

我相信这是由于当项目升级到更新版本的.net框架时web.config模板中的错误。

我能够通过进入web.config ,找到system.codedom节点,并将内容更改为如下所示来解决此问题:

     

如果从4.5.1项目运行此命令,则升级到4.5.2可能会修复它。

否则,建议安装此NuGet包以提供新function: Microsoft.CodeDom.Providers.DotNetCompilerPlatform

所以做这样的事情:

 

@Model.Person?.Name

可能会工作。 如果没有,请尝试显式如下:

 

@(Model.Person?.Name)

我在RazorEngine模板中为启用C#6function找到的最佳分步说明如下: https : //github.com/Antaris/RazorEngine/issues/363#issuecomment-273106183

在那里没有提到的是确保在将appilers部分添加到app.config时,版本号与您正在安装的软件包中的版本匹配。 在评论中它是版本1.0.3,但我安装的软件包有1.0.4,所以它需要看起来像这样:

     

其他答案非常好,但我发现了一篇很好的短文,明确澄清了这个问题的步骤: https : //cpratt.co/using-csharp-6-or-7-with-mvc-5/

简而言之:

  1. 在程序包管理器控制台中,安装Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  2. checka /改变你的Web.config,最后包含以下几行: