我想要一个msbuild任务来编译视图,这样我就可以看到是否有编译时错误在好…编译时间。什么好主意吗?


当前回答

坦率地说,我会推荐RazorGenerator的金块包。这样,当您保存视图时,视图就会生成一个.designer.cs文件,除了为视图获取编译时错误外,它们还会预编译到程序集(=更快的预热),Resharper也提供了一些额外的帮助。

要使用这包括RazorGenerator nuget包在你的ASP。NET MVC项目,并在工具→扩展和更新项下安装“Razor Generator”扩展。

我们使用这种方法,每次编译的开销要少得多。在此基础上,我可能会推荐RedGate的. net Demon,它进一步大大减少了编译时间的影响。

其他回答

此外,如果你使用Resharper,你可以激活Solution Wide Analysis,它将检测你在aspx文件中可能存在的任何编译器错误。这就是我们所做的……

运行代码分析

热键:Alt+F11

帮助我捕捉Razor错误。

使用Visual Studio的Productivity Power Tools(免费)扩展会有所帮助。具体来说,就是Solution Error Visualizer特性。使用它,在解决方案资源管理器中(在发现错误的源文件中)可视地标记编译错误。但是,由于某种原因,该特性不能像处理代码中的其他错误一样正常工作。

对于MVC视图,任何编译时错误仍将在各自的.cs文件中以红色下划线显示,但在解决方案资源管理器中不会向上传播这些错误(绝不会,甚至在包含这些错误的源文件中也不会)。

感谢BlueClouds纠正我之前的声明。

我刚刚报告了这个扩展的github项目的一个问题。

坦率地说,我会推荐RazorGenerator的金块包。这样,当您保存视图时,视图就会生成一个.designer.cs文件,除了为视图获取编译时错误外,它们还会预编译到程序集(=更快的预热),Resharper也提供了一些额外的帮助。

要使用这包括RazorGenerator nuget包在你的ASP。NET MVC项目,并在工具→扩展和更新项下安装“Razor Generator”扩展。

我们使用这种方法,每次编译的开销要少得多。在此基础上,我可能会推荐RedGate的. net Demon,它进一步大大减少了编译时间的影响。

ASP的下一个版本。NET MVC(一月左右可用)应该有编译视图的MSBuild任务,所以您可能想要等待。

看到公告