2

在 ASP.NET MVC 中,您可以通过将项目文件中的以下键设置为 true 来启用视图编译:

<MvcBuildViews>true</MvcBuildViews>

然后,每当您编译解决方案时,您的视图也会被编译,这很棒,因为它允许您在编译时而不是运行时查找错误。这在重构时特别有用,因为可能会错过重命名的属性或视图中更改的命名空间。

我只能看到好处,所以为什么这个选项不仅默认设置,而且在 Visual Studio 2010 UI 中甚至不可用,并且通常需要对您的配置进行一些额外的更改,如此处所述:http: //odetocode.com/blogs /scott/archive/2011/02/16/notes-on-building-razor-views.aspx

编译 ASP.NET MVC 视图有什么合理的缺点吗?

4

2 回答 2

3

我不会说这是“好做法”,也不是“坏做法”。它只是您工具箱中的另一个工具。

默认情况下未启用它的原因是,虽然小型项目还可以......它很快变得非常慢,中型到大型项目需要几分钟。

此外,它只捕获特定类型的错误。所以不要在所有事情上都依赖它。

于 2013-01-11T21:39:35.460 回答
1

假设这类似于在 Web 表单项目中预编译页面。是的,这样做会有很多好处,因为它会使应用程序性能更好,因为当用户访问视图时不必编译视图。

但是,这会使较小的更改变得更加困难;我遇到了您必须对代码进行小幅更改的情况。如果您必须重新部署,它可能会回收应用程序并迫使用户失去工作。老实说,我使用此类功能的大部分时间都是使用 Web 表单,但过程应该是相似的。

它也使部署变得更加困难,但我并不认为这是一个骗局,因为部署并不频繁。

于 2013-01-11T21:13:45.383 回答