对aspx等页面进行预编译以进行编译期检查
2016-07-29 00:00
399 查看
话说在开发Web应用程序时能够很轻易地对后台代码进行编译,并获得编译时的错误。可惜有时候我们对后台代码进行重构或Find all references的时候都会忽略aspx,ascx和master等文件里的代码,因为它们只有在打开时(执行期)才能发现错误。这是一个非常惹人厌的问题,但是事实上,我们只需要对一个asp.net目录下的文件进行预编译即可发现哪里出现问题。在项目中我经常会准备一个bat脚本:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v / -p .\WebRoot -f -errorstack .\Temp
当运行这个脚本时,aspnet_compiler命令就会对WebRoot目录进行预编译,并且将error打印出来(具体参数的作用可以查找文档)。需要注意的是,aspnet_compiler编译的目标是文件夹,可能有的编译失败是由一些额外的aspx文件引起的,它们并没有被包含在VS的项目文件中。
事实上,在ASP.NET MVC RC版本中就会包含一个MSBuild任务来检查所有的View,其目的和上面那段脚本的目的较为类似。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v / -p .\WebRoot -f -errorstack .\Temp
当运行这个脚本时,aspnet_compiler命令就会对WebRoot目录进行预编译,并且将error打印出来(具体参数的作用可以查找文档)。需要注意的是,aspnet_compiler编译的目标是文件夹,可能有的编译失败是由一些额外的aspx文件引起的,它们并没有被包含在VS的项目文件中。
事实上,在ASP.NET MVC RC版本中就会包含一个MSBuild任务来检查所有的View,其目的和上面那段脚本的目的较为类似。
相关文章推荐
- Microsoft ASP.NET AJAX的RTM Release在一定程度上更像是一个晴天霹雳
- 为WebForms说几句话,以及一些ASP.NET开发上的经验(1)
- ASP.NET MVC单元测试最佳实践
- ASP.NET AJAX RC的Script文件引入方式又有了改变
- 从Atlas到Microsoft ASP.NET AJAX(7) - ScriptManager and ScriptManagerProxy Controls, Extender Controls
- 分清ASP.NET AJAX中的Extender和Behavior模型
- 为ASP.NET AJAX 1.0 Beta补充trace和dump功能
- 为WebForms说几句话,以及一些ASP.NET开发上的经验(2)
- 从Atlas到Microsoft ASP.NET AJAX(9) - Using the Value-add Scripts
- 适合ASP.NET MVC的视图片断缓存方式(中):更实用的API
- ASP.NET Routing对请求的处理方式
- 不妨来做个尝试:UpdatePanel for ASP.NET MVC
- 使用IronPython检测ASP.NET程序状况(上)
- MSDN Webcast“深入浅出ASP.NET AJAX系列”预告及反馈
- 明日讲座主题:ASP.NET WebForms、MVC与MVP的演变与结合
- 讲座展示:TechEd Europe DEV344 - ASP.NET AJAX Control Toolkit(下)
- ASP.NET AJAX正式版带来的Validator问题及解决方案
- 对ASP.NET MVC项目中的视图做单元测试
- MIX 2008与ASP.NET MVC框架的Road-Map
- 在Web应用程序开发过程中利用ASP.NET MVC框架的实战技巧