预编译功能是ASP.NET 2.0中的强大功能之一,可是博客园至今还未能体验它的强大,不是博客园不想用它,只是因为它的要求太高。
使用aspnet_compiler进行预编译时,它们会编译Web目录中的所有代码文件,只要有一个文件有编译错误,预编译就会失败,也就是说预编译要求Web目录中的所有aspx,ascx等文件都能正常编译,高!要求实在是高!
在博客园的程序中,有一些暂时不用或者历史遗留的有问题的ascx文件,造成预编译总是失败,由于Skin中存在不少这样的文件,一个一个地找出这些文件很麻烦,而且它们不影响正常运行,也就不想去清理它们,只要预编译时能忽略这些文件就行了,可aspnet_compiler却没考虑到这个很小的要求,他需要一个很干净的Web目录让他干活,可是他为开发人员服务,却不知道开发人员中懒人比较多。对用户需求了解不够,这就是我对ASP.NET 2.0的预编译功能不满的地方。如果aspnet_compiler提供一个命令行参数可以忽略单个文件的编译错误,也就不存在这个问题,或者通过配置文件可以设置不参与预编译的文件或者文件夹。用Visual Studio 2005 Web Deployment Projects进行编译时也存在同样的问题。