苏飞论坛广告位

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V1.3) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程 - 订阅更新

HttpHelper万能框架(V2.2) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V1.9) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 524|回复: 2

[Asp.Net] 合并程序集时出错: ILMerge.Merge: ERROR!!... 问题详解

[复制链接]
  • TA的每日心情
    奋斗
    2018-7-31 09:25
  • 签到天数: 176 天

    [LV.7]常住居民III

    发表于 2018-3-13 11:06:01 | 显示全部楼层 |阅读模式
    在vs2014中,生成网站是正常的,但是发布web网站时,出现错误如下:

    [C#] 纯文本查看 复制代码
    错误        35        合并程序集时出错: ILMerge.Merge: ERROR!!: Duplicate type 'Home_Alipay_Default' found in assembly 'App_Web_ml1dqhbg'.        aspnet_merge        0        0        WAP




    查找资料,一直很多都说是 在生成的时候有这个错,但是我的生成是正常通过的,然后就尝试处理问题。


    在资料中,一直说是,已经存在一个相同类型的 Home_Alipay_Default’, 删除其中一个,或者将文件重命名一下就行。


    于是我就拿着Home_Alipay_Default
    在项目中,整个搜索,发现整的存在两个一样的  Inherits="Home_Alipay_Default"
    其中一个页面,的确是  Default  另一个是pay  我就将pay页面给删除了,尝试了发布成功了。
    然后我尝试将另一个页面 pay, 查找发现,存在Pay的cs(即:Home_Alipay_Pay),   给调整了下,调整为Inherits="Home_Alipay_Pay",   重新发布,也是可以的。


    以上根据资料的说法,这样问题的出现,是这样解释的,我就直接复制了,如下:


    意思是在"App_Web_ml1dqhbg"中已经存在一个相同类型的"Home_Alipay_Default" 。将其删除,就ok了,大概就是临时目录的意思。里面的bin目录下还是跟直接发布一样有好多的随机dll。
    如果生成成功就没有了那么多的临时dll了,但是生成的时间要比直接生成稍微那么长点。我想当然一次:
    其工作原理应该是把直接生成时产生的随机dll然后再次合并程序集为一个自己命名的dll。




    出现这种问题,很多的可能就是重新复制了一个页面,  但是没有调整页面上的 Inherits 命名 导致的问题,记得在复制页面时,将页面名称调整了,  
    aspx页面上的 Inherits调整了,cs文件中也要跟着调整才行






  • TA的每日心情
    开心
    3 天前
  • 签到天数: 594 天

    [LV.9]以坛为家II

    发表于 2018-3-13 14:09:52 | 显示全部楼层
    不建议完全复制文件,应该是新建一个,然后进行复制粘贴部分内容。直接复制经常会有这样那样的问题
  • TA的每日心情
    奋斗
    2018-7-31 09:25
  • 签到天数: 176 天

    [LV.7]常住居民III

     楼主| 发表于 2018-3-13 20:49:30 | 显示全部楼层
    是的,都是太懒,直接复制一个页面,或者调整页面名称都是不正确的做法,一不小心就会出现问题
    您需要登录后才可以回帖 登录 | 马上注册

    本版积分规则

    QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1 )

    GMT+8, 2018-9-24 06:22

    © 2017-2018

    快速回复 返回顶部 返回列表