随心所欲

做个幸福的人
posts - 147, comments - 1402, trackbacks - 28, articles - 0
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理

asp.net2.0程序的发布

Posted on 2005-08-22 12:40 随心所欲 阅读(1308) 评论(0)  编辑 收藏 网摘 所属分类: Asp.net2.0 VS2005
这里介绍两种发布方式

1:使用开发工具中的CopySite功能。

      其实他还是一个XCopy,就是多了 同步文件/连接站点 等功能。还是把所有源代码一起发布了

2:使用预编译部署
      这一个就走向另外一个极端:发布的时候只有dll文件,没有任何源代码,甚至是html代码也没有。

     使用方式:打开asp.net2.0的sdk的Command Prompt或者找到windows/miscorsoft.net/framework/v2.0/目录下,开始运行aspnet_compiler.exe。这个程序就可以进行预编译。aspnet_compiler.exe -?可以显示出这个命令的帮助。

    介绍一种格式:aspnet_compiler -v /<websitename> -p <source> <destination>

    比如:aspnet_compiler -v /form.ui.web -p c:\websites\form.ui.web c:\websites\deployment    该命令把虚拟目录名字叫做form.ui.web位于c:\websites\form.ui.web 目录下的程序预编译到c:\websites\deployment   目录下。


编译之后:

1:所有的.aspx页面成了这种东西:

This is a marker file generated by the precompilation tool, and should not be deleted!

这个文件的作用只是标记它存在,通过IIS可以访问到,仅此而已,其内容已经全部被编译到dll中,bin目录下有一个default.aspx.cdcab7d2.compiled文件存在

2:所有的ascx控件“消失”了,同时在Bin里面,多出来好多.compiled文件,其中一个文件内容如下:
    <preserve resultType="3" virtualPath="/form.ui.web/configFiles/IPS/InformationCreate.ascx" hash="bdca4e266" filehash="1879aaf63513" flags="10000" assembly="App_Web_x_lehwbd" type="ASP.InformationCreate_ascx">
    <filedeps>
        <filedep name="/form.ui.web/configFiles/IPS/InformationCreate.ascx" />
    </filedeps>
</preserve>

     也就是说在执行的时候,会根据这里的声明,从程序集里面读取这个文件。

   一开始还担心我里面的调用ascx的代码会出错,因为我都是Control.Load(path); 万一没有了ascx文件,岂不是Load不到了? 看来是杞人忧天了,没有一点问题。

3:资源文件和以前差不多,被编译到bin目录下的若干个子目录下,比如zn-ch什么的。

4:global、masterpage和theme文件也是类似的,出现了App_global.asax.compiled、default01.master.28fa1680.compiled、Theme_DefaultTheme.compiled等文件

 





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-07-12 12:46 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接:
 

Google