我是直接点“生成网站”发布的,目的是要生成ASPX页面文件和DLL一起发布,但发现每次发布后所生成的DLL文件名都是随机生成的,而在ASPX页面里绑定的类名了是随机的,如下 inherits="Expert, App_Web_zrr-gzly" %>逗号后的部分现在问题是,如果我一个项目里需要修改一些地方,然后需要重新发布,这时难道就要将整个项目里所有ASPX和DLL文件再次重新上传一次吗?这也太麻烦了吧,如果我要为我的程序发补丁,那不可能叫别人每次都重新上传所有文件吧?如果发布时选择使用固定命名的选项,就会为每个页面生成一个DLL,这也不行啊,我页面很多,这样子感觉太乱了,而且也不安全,让人一看DLL就知道对应哪个页面了
不知有什么解决的办法?

解决方案 »

  1.   

    所有页面后台编码用统一的namespace 编译后只有1个Dll
      

  2.   

    一个Dll表示一个Assembly 一个一个项目的namespace嵌套2层
    第一层是开发公司的名称,第二层是开发组的名称
    然后里面的类继承同一个基类namespace YourCompany.YourGroup
    {
        public partial class yourpagename : YourCompany.YourGroup.yourtotalbaseclass
        {}
    }
      

  3.   

    前台:<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" CodeFile="yourpagename.aspx.cs"
        Inherits="YourCompany.YourGroup.yourpagename" %>
      

  4.   

    哦,原来这样啊,唉,那这次惨了,我的项目文件还不少呢,要一个个去改啊,谢谢啦!对了,再问一下,里面的类必须要继承同一个基类吗?我都是默认到System.Web.UI.Page的,这样也不行的吗?
      

  5.   

    唉,我已将项目里的文件都加上命名空间了,但还是不行啊,发布出来后效果一样,我写的命名空间都没形成DLL文件名的?
      

  6.   


    http://www.didaman.com/ShowBlog.asp?BlogID=302
      

  7.   

    http://blog.csdn.net/lizhizhe2000/archive/2007/01/09/1478012.aspx
      

  8.   

    使用web application模式开发,或者发布时使用webdeployment插件
      

  9.   

    呵呵,非常感谢,通过webdeployment终于把问题解决啦