如何配置Razor*.cshtml编辑器';是否在ASP.NET项目之外设置s C#编译器设置?

如何配置Razor*.cshtml编辑器';是否在ASP.NET项目之外设置s C#编译器设置?,razor,visual-studio-2017,Razor,Visual Studio 2017,(这不是的副本,因为我使用的是RazorGenerator,而不是ASP.NET,每次我在Visual Studio中按“保存”按钮时,都会发生从.cshtml到.cs的转换,因此将程序集引用或NuGet包添加到我的项目不会有帮助) 我有一个C#类库项目,它使用RazorGenerator(一个Visual Studio扩展,可以将.cshtml传输到.cs源代码)。RazorGenerator本身工作正常,并且我的.cshtml文件被正确地转换为cs,而考虑到我使用的是自定义程序集中定义的C#

(这不是的副本,因为我使用的是RazorGenerator,而不是ASP.NET,每次我在Visual Studio中按“保存”按钮时,都会发生从.cshtml到.cs的转换,因此将程序集引用或NuGet包添加到我的项目不会有帮助)

我有一个C#类库项目,它使用RazorGenerator(一个Visual Studio扩展,可以将
.cshtml
传输到
.cs
源代码)。RazorGenerator本身工作正常,并且我的.cshtml文件被正确地转换为cs,而考虑到我使用的是自定义程序集中定义的C#7.3语言特性和类型,因此没有任何问题

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

“功能‘输出变量声明’在C#4中不可用。请使用7.0或更高版本的语言。”

由于未加载程序集,导致命名空间导入中断:

我看到这样的帖子:


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

我真的很想知道,为什么没有反应。。。或者它是如此微不足道,以至于它应该是显而易见的,或者没有人知道:-)(或者它只是不可能!),我们似乎不是第一个遇到这种烦恼的人: