发布网站时为什么提示重复呢?Duplicate type

life923 2012-02-12 11:58:40
网站程序,默认发布网站,没问题,但就是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);

其他没有了 这要怎么解决呢?


...全文
197 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
life923 2012-02-19
  • 打赏
  • 举报
回复


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

整个过程中,旧的dll的运行不能中断、更不能似是而非地被改成新的dll啊!
  • 打赏
  • 举报
回复
实际上会更加造成网站部署失败 --> 实际上会更加容易造成网站部署失败


基本上这个做法都是经过大规模测试出来的解决方案,不是成心想让你看着麻烦才随机命名的。有人把网站开发和发布当作一个winform程序那样地去看待,我认为这缺乏一定的运维方面的测试和维护经验。除非实在是一个无足轻重、没有人爱用的小网站,否则网站怎么能当作一个应用程序而开发和发布呢?
  • 打赏
  • 举报
回复
没有必要搞什么合并。

网站重新发布时,原来的dll需要继续运行,难道你都是直接停掉网站然后才发布?

既然原来的dll需要继续运行,那么新发布的dll自然就应该随机命名成为新的名称了。

你可以做一个简单的ftp小程序(或者许多ftp客户端工具也由此功能),来比较网上的文件与本地目录中的文件,遇到网站上有而本地没有的文件删除它就行了。而这应该是在你发布网站并且稳定运行几分钟之后,而不是当时就删除文件。

总之,应该理解并接受“重新随机命名”这种做法。如果不重新命名,实际上会更加造成网站部署失败!
life923 2012-02-12
  • 打赏
  • 举报
回复
好像发布网站选固定名称会有
App_Web_default.aspx.cdcab7d2.dll

这cdcab7d2是怎么算出来的呢? 好像每次都固定
是根据名称吗?



我换一台电脑生成 还会是cdcab7d2吗?


life923 2012-02-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sp1234 的回复:]
没有必要搞什么合并。
[/Quote]

不是合并成一个dll,我是想不要随机文件名而已
比如登陆模块 App_Web_login.dll
注册模块 App_Web_reg.dll
用户模块 App_Web_user.dll


比如我改注册模块,只要上传App_Web_reg.dll即行了

随机的话,我改一个模块 得上传全部dll

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧