网站程序,默认发布网站,没问题,但就是bin下的dll 名称随机了然后我使用微软插件Web Deployment Projects with Visual Studio 发布的
出现如下错误:
合并程序集时出错: ILMerge.Merge: ERROR!!: Duplicate type 'PageChangeEventHandler' found in assembly 'App_Web_ajms1yrn'
我在工程搜索PageChangeEventHandler只有两个地方的类出现
public delegate void PageChangeEventHandler(int Page);其他没有了  这要怎么解决呢?

解决方案 »

  1.   

    没有必要搞什么合并。网站重新发布时,原来的dll需要继续运行,难道你都是直接停掉网站然后才发布?既然原来的dll需要继续运行,那么新发布的dll自然就应该随机命名成为新的名称了。你可以做一个简单的ftp小程序(或者许多ftp客户端工具也由此功能),来比较网上的文件与本地目录中的文件,遇到网站上有而本地没有的文件删除它就行了。而这应该是在你发布网站并且稳定运行几分钟之后,而不是当时就删除文件。总之,应该理解并接受“重新随机命名”这种做法。如果不重新命名,实际上会更加造成网站部署失败!
      

  2.   

    实际上会更加造成网站部署失败   -->   实际上会更加容易造成网站部署失败
    基本上这个做法都是经过大规模测试出来的解决方案,不是成心想让你看着麻烦才随机命名的。有人把网站开发和发布当作一个winform程序那样地去看待,我认为这缺乏一定的运维方面的测试和维护经验。除非实在是一个无足轻重、没有人爱用的小网站,否则网站怎么能当作一个应用程序而开发和发布呢?
      

  3.   

    现在互联网稍微好一点,可很多初学者不重视实际了。实际上在4、5年前,网络上行还比较慢,比如说我发布和更新一个有着1000个文件的网站,使用ftp客户端工具上传这些小文件有时候(经常)需要一小时才传完(有时甚至需要几个小时),而且发不完一看日志还有150个文件更新失败,于是就要重新对这150个文件再次更新.....重复几次以后直到所有文件都更新完成,最后才把网站的配置文件切换到新的配置上,这样网站才算更新完成。整个过程中,旧的dll的运行不能中断、更不能似是而非地被改成新的dll啊!
      

  4.   


    不是合并成一个dll,我是想不要随机文件名而已
    比如登陆模块 App_Web_login.dll
    注册模块  App_Web_reg.dll
    用户模块  App_Web_user.dll
    比如我改注册模块,只要上传App_Web_reg.dll即行了随机的话,我改一个模块 得上传全部dll
      

  5.   

    好像发布网站选固定名称会有
    App_Web_default.aspx.cdcab7d2.dll这cdcab7d2是怎么算出来的呢?  好像每次都固定
    是根据名称吗?我换一台电脑生成 还会是cdcab7d2吗?