C# 如何在运行前编译cshtml,而不在临时文件上抛出构建错误

C# 如何在运行前编译cshtml,而不在临时文件上抛出构建错误,c#,asp.net-mvc-4,razor,visual-studio-2013,C#,Asp.net Mvc 4,Razor,Visual Studio 2013,这是我已实施的问题“”的延伸 我面临的问题是,当我强制MVC预构建CSHTML时,它也开始尝试构建所有临时文件 它在以下路径中查找文件: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\temp\272abf22\b789edae\App_Web_zej33svj.2.cs 由于这些文件是CSHTML文件的翻译(到它们的实际CS形式),并且本身不完整,因此会引发异常。这感觉像一个破碎的产品。(这可能就是

这是我已实施的问题“”的延伸

我面临的问题是,当我强制MVC预构建CSHTML时,它也开始尝试构建所有临时文件

它在以下路径中查找文件:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\temp\272abf22\b789edae\App_Web_zej33svj.2.cs

由于这些文件是CSHTML文件的翻译(到它们的实际CS形式),并且本身不完整,因此会引发异常。这感觉像一个破碎的产品。(这可能就是为什么Microsoft只保留该选项XML,而不通过UI进行配置。)

对于编译视图,而不是将
MvcBuildViews
设置为true,可以用于编译视图。这是VisualStudio的自定义工具,允许在设计时而不是运行时处理Razor文件,允许将它们构建到程序集中,以简化重用和分发。
要发布mvc应用程序,必须将
MvcBuildViews
设置为false

什么是编译器错误?您是否试图预编译不完整的web应用程序?在这种情况下,编译错误无关紧要。它们是temp文件上的未知引用错误,因为它引用了项目中的类,但temp文件实际上不是项目的一部分。这样,temp文件在正常设置下编译,但当我进入特定页面时,它抛出编译错误,因为cshtml文件中有无效的C#代码。问题是在构建时而不是在运行时检测这些问题。我现在已经安装了它,但我不知道如何使用它。我在网站上也找不到。它只是应该在建筑时工作吗?或者要编译所有视图,请在Nuget Package Manager控制台中运行
启用RazoGenerator
,或者您可以使用