如何使剃刀视图引擎使用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/
简而言之:
-
在程序包管理器控制台中,安装
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
-
checka /改变你的Web.config,最后包含以下几行: