解决方案 »

  1.   


    asp.net网站非常容易在生产服务器上直接部署,甚至直接“调试”。你只要把源代码——网站——拷贝到/上传到生产服务器的asp.net网站下即可,无需编译、无需生成。就可以直接运行!如果你不希望发布各种源代码(包括aspx、ascx、master page等等一大堆文件里的设计布局源代码),那么可以进行完整编译。例如这个文章 http://blog.csdn.net/xiang_f_y/article/details/9032077 就是错误的!应该确保降低一个选项的“勾”删除掉,也就是“不允许更新网站”。你此时还要让人随意注入你得asp.net文件随意修改吗?
      

  2.   

    有人似是而非,以为这个勾默认选上就行了。其实这就是跟你问题一样地含糊其辞。如果要发布源码,那么就直接拷贝!不需要编译。如果要编译(发布),那么就不允许再去手工修改发布之后的网站,让编译器完整地去编译。可以看看编译之后aspx等文件都变为了什么内容?只有这种真正完整地编译了的网站才是我们需要的。
    关于起始页,在IIS上(以其其它几种支持asp.net的web服务器上),你可以设置多个页面为起始页。例如设置      default.xxxx
         default.aspx
         index.html
         index.htm等等。于是web服务器会按照顺序查询文件是否存在,如果存在则作为网站默认页面(url中只有网站域名,没有给出页面名称,则调用默认页面)下载给客户端。也就是说第一个页面才起作用。vs上的调试环境,模拟了这个。你设置default.aspx为默认页面,就相当于你在IIS上设置了起始页面。如果你设置多个,也只有第一个页面起作用