如何在ASP.NET项目之外配置Razor * .cshtml编辑器的C#编译器设置?

时间:2018-10-03 21:58:10

标签: razor visual-studio-2017

(这不是Print and/or modify the c# version that the razor compiler service uses to compile cshtml的副本,因为我使用的是RazorGenerator,而不是ASP.NET,每次我在Visual Studio中按“保存”按钮时,都会发生从.cshtml到.cs的转换。对我的项目的引用或NuGet包无济于事)

我有一个使用RazorGenerator(将.cshtml转换为.cs源的Visual Studio扩展的C#类库项目)。考虑到我使用的是自定义程序集中定义的C#7.3语言功能和类型,RazorGenerator本身可以正常工作,并且将.cshtml文件正确转换为cs不会出现任何问题。

问题是Visual Studio自己的.cshtml设计器(独立于RazorGenerator)似乎默认为C#4.0编译器版本,甚至没有加载System.Core.dll-因此,在Visual Studio编辑器中查看.cshtml文件时,我看到不应该出现的错误消息:

  

“ C#4中没有功能'输出变量声明'。请使用语言版本7.0或更高版本。”

enter image description here

和损坏的名称空间导入,因为它没有加载程序集:

enter image description here

我看到了这些SO帖子:

...这建议将NuGet Microsoft.CodeDom.Providers.DotNetCompilerPlatform包添加到项目中并重新启动Visual Studio,但是并不能解决问题。

0 个答案:

没有答案