我想要一个msbuild任务来编译视图,这样我就可以看到是否有编译时错误在好…编译时间。什么好主意吗?
当前回答
运行代码分析
热键:Alt+F11
帮助我捕捉Razor错误。
其他回答
这里给出的答案适用于某些MVC版本,但不适用于其他版本。
简单的解决方案适用于MVC1,但在升级到MVC2时,视图不再被编译。这是由于网站项目文件中的一个错误。请看这篇黑客文章。
请看这个:http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
从RC1的自述词doc(未被谷歌索引)
ASP。NET编译器后构建步骤
目前,视图文件中的错误直到运行时才被检测到。为了让您在编译时检测这些错误,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创建的项目,以包括视图的构建时验证:
在文本编辑器中打开项目文件。 在最上面的<PropertyGroup>元素下面添加以下元素: 真正< MvcBuildViews > < / MvcBuildViews > 在项目文件的末尾,取消<Target Name="AfterBuild">元素的注释,并修改它以匹配以下内容:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>
此外,如果你使用Resharper,你可以激活Solution Wide Analysis,它将检测你在aspx文件中可能存在的任何编译器错误。这就是我们所做的……
ASP的下一个版本。NET MVC(一月左右可用)应该有编译视图的MSBuild任务,所以您可能想要等待。
看到公告
运行代码分析
热键:Alt+F11
帮助我捕捉Razor错误。
推荐文章
- 如何在不安装IDE的情况下在构建服务器上安装VS2017版本的msbuild ?
- 把内容放在HttpResponseMessage对象?
- asp.net MVC中的@RenderSection是什么
- 在哪里放置AutoMapper.CreateMaps?
- 我如何提高ASP。NET MVC应用程序性能?
- 如何在没有任何错误或警告的情况下找到构建失败的原因
- 如何在剃刀视图上引用.css文件?
- 有没有办法注释掉.ASPX页面中的标记?
- jQuery为ajax请求返回“parsererror”
- 不带查询字符串获取url
- 获取“JSON请求太大,无法反序列化”
- <%$, <%@, <%=, <%#…怎么回事?
- 存储库和服务层的区别?
- 无法找到适合特定区域性或中性区域性的任何资源
- 在ASP中实现请求节流的最佳方法。净MVC吗?