Hello World
Spiga

对aspx等页面进行预编译以进行编译期检查

2009-01-08 12:38 by 老赵, 13783 visits

话说在开发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,其目的和上面那段脚本的目的较为类似。

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名赵劼(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言

Add your comment

5 条回复

  1. 不是我不想说[未注册用户]
    *.*.*.*
    链接

    不是我不想说[未注册用户] 2009-01-08 13:11:00

    感谢,正好用到。

  2. jisen007[未注册用户]
    *.*.*.*
    链接

    jisen007[未注册用户] 2009-01-08 13:13:00

    抢个板凳坐坐!

  3. southsiberia[未注册用户]
    *.*.*.*
    链接

    southsiberia[未注册用户] 2009-01-17 17:13:00

    ASP.NET MVC RC版本什么时候出呢?

  4. JimLiu
    *.*.*.*
    链接

    JimLiu 2009-01-22 10:42:00

    --引用--------------------------------------------------
    southsiberia: ASP.NET MVC RC版本什么时候出呢?
    --------------------------------------------------------
    与你有同样的问题,因为正在使用P5做个东西,呵呵。

  5. 老赵
    admin
    链接

    老赵 2009-01-22 10:54:00

    我也不知道

发表回复

登录 / 登录并记住我 ,登陆后便可删除或修改已发表的评论 (请注意保留评论内容)

昵称:(必填)

邮箱:(必填,仅用于Gavatar

主页:(可选)

评论内容(大于5个字符):

  1. Your Name yyyy-MM-dd HH:mm:ss

使用Live Messenger联系我