asp.net - 在 ASP.NET MVC 中编译 View

标签 asp.net asp.net-mvc msbuild

我想要一个 msbuild 任务来编译 View ,以便我可以查看是否存在编译时错误...编译时。有什么想法吗?

最佳答案

来自 RC1 的自述文件文档(未由 Google 索引)

ASP.NET 编译器构建后步骤

目前, View 文件中的错误只有在运行时才会被检测到。为了让您在编译时检测这些错误,ASP.NET MVC 项目现在包含一个 MvcBuildViews 属性,该属性默认情况下处于禁用状态。要启用此属性,请打开项目文件并将 MvcBuildViews 属性设置为 true,如以下示例所示:

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

注意启用此功能会增加构建时间的一些开销。

您可以通过执行以下步骤来更新使用以前版本的 MVC 创建的项目,以包含 View 的构建时验证:

  1. 在文本编辑器中打开项目文件。
  2. 在最顶部 <PropertyGroup> 下添加以下元素元素: <MvcBuildViews>true</MvcBuildViews>
  3. 在项目文件末尾,取消注释 <Target Name="AfterBuild">元素并修改它以匹配以下内容:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>

关于asp.net - 在 ASP.NET MVC 中编译 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/383192/

相关文章:

asp.net - .NET 4.6 升级后 w3wp.exe 间歇性崩溃并出现 ThreadAbortException

.net - 即使没有路由,也可以使用RouteExistingFiles阻止对现有文件的访问

c# - 为什么两个程序集中的相同 COM 引用可能会在生成时导致 CS1502 和 CS1503 错误?

.net - TeamCity和MSBuild集成

c# - 无法构建带有 project.json 的 .NET 项目

c# - config.DataServiceBehavior.MaxProtocolVersion 从 V3.0 到 V2.0 的更改无法恢复

javascript - 如何获取用户浏览器详细信息、IP地址和位置信息?

asp.net - 添加 Form 标签时 css 变形

asp.net - MVC ASP.NET Ajax.ActionLink 样式

json - 在 ASP.NET 中使用 WebAPI 或 MVC 返回 JSON