在vs2003,vs2005,vs2008中 通过 在项目上右键 发布网站 ,即可以将网站发布到指定的位置,然后再把发布后的目录放到IIS里面就可以完成.  
发布后,当客户端第一次访问时会比较慢,以后就会相对快很多.
因此 vs团队提供了 "预编译" 即 在vs2003,vs2005,vs2008中可以用 "aspnet_compiler.exe"  进行预编译网站.问题就来了:
1、既然预编译后能解决首次访问的问题,为什么 ms 在发布网站的时候不直接采用  预编译 后再发布? 在vs2003,vs2005,vs2008 都没有这个功能,而是另外用aspnet_compiler.exe命令去做。MS 的目的在哪里呢?
2、大家在发布网站的时候是采用何种方式?  在项目上右键 发布网站 还是  用aspnet_compiler.exe命令去做?

解决方案 »

  1.   

    项目是用 vs2008开发,.net framework是用3。5  如果用 aspnet_compiler.exe 去预编译,那是2.0 的还是3.5呢?
      

  2.   

    应该先生成如生成成功了,再发布吧!发布到iis配置的指定的目录吧!
    这种方法发布完复制拷贝就可以使用了。如果你是在虚拟机上的这种方法是不行。
    还得用其他方法,编译安装包吧~!
      

  3.   

    同简单地将网站复制到目标 Web 服务器相比,发布网站提供了以下优点:    *      预编译过程能发现任何编译错误,并在配置文件中标识错误。
        *      单独页的初始响应速度更快,因为页已经过编译。如果不先编译页就将其复制到网站,则将在第一次请求时编译页,并缓存其编译输出。
        *      不会随网站部署任何程序代码,从而为您的文件提供了一项安全措施。您可以带标记保护发布网站,这将编译 .aspx 文件;或者不带标记保护发布网站,这将把 .aspx 文件按原样复制到网站中并允许您在部署后对其布局进行更改。================
    预编译发布的第一步是预编译网站。为发布进行预编译与就地预编译(在 Visual Web Developer 中称为生成)稍有不同。预编译实际执行的编译过程与通常在浏览器中请求页时发生的动态编译的编译过程相同。预编译器从页产生程序集,包括标记和代码。它同时还编译 App_Code、App_GlobalResources、App_LocalResources 和 App_Themes 文件夹中的文件。
    ===========================================MSDN  URL:http://msdn.microsoft.com/zh-cn/library/377y0s6t(VS.80).aspx
      

  4.   

    在 2.0 , 3.0 , 3.5 中预编译是不是都用 aspnet_compiler.exe  这个命令?