zoukankan      html  css  js  c++  java
  • Asp.Net Ambiguous match found 错误另一种解决方法

    发生日期:2016-05-05

    错误消息:忘记保留日志文件了,所以,没有。

    其他人的解决方法:

    http://blog.163.com/zhaowenjia1989@126/blog/static/10949857920111252017412/

    查找名称相同,但是,大小写不同的变量或控件,找到后,重命名。

    我的开发环境:

    文件系统Web方式开发(不是Web App)。

    我的发布方式:

      连接:文件系统

      设置:配置 DEBUG-Any CPU

         文件发布选项

          在发布前删除所有现有文件

          在发布期间预编译(允许更新预编译站点、发出调试信息、不合并)

    我的解决过程:

    1.按网上说的,查找名称相同变量或控件(并没有解决问题)

      a)  将网站出现故障的页面、bin、Web.Config、App_Themes及故障页依赖的控件文件复制到新的网站文件夹(我使用的是Web方式开发,不是Web App);

    上图中的EquipmentManage是故障出现页面所在的文件夹,我把整个文件夹都复制过来了;

    上图中的RecordManage是故障页面使用用户控件所在的文件夹,我还是整个文件夹复制了;

      b)  将新网站中的故障页面aspx文件的Inherits、CodeFile删掉(即排除变量),并发布新网站后测试。

      测试没还原问题

      c)  将新网站中的故障页面aspx文件还原,再次发布后测试。

      测试还是没还原问题。但是,日志报错了。说是,故障页面的类同时存在于多个dll中。

      但是,我在解决方案中搜索了故障页面的类,只有一个这样的类。

      然后,我检查了发布文件夹,其中有一个dll不存在。

      于是,我又检查了zip压缩包,发现两个dll都在。

      现在看来,问题的原因可能找到了:我在打包Web时,使用了zip压缩包的方式,并且多次打包使用了一个名称。导致上一次打包的dll文件没有删除(Web方式开发,页面代码编译的dll名称是随机的)。

      d)  将压缩包删掉后,重新打包旧网站并部署

      页面不再报错

    这次问题的总结:

    1.  不存在变量或控件名重名的情况

    2.  打包时没有删除上次打包的文件,导致类存在于多个dll文件中

  • 相关阅读:
    Beta冲刺第三天
    Beta冲刺第二天
    C#编程(三十三)----------Array类
    ComputeColStats UDF中 近似算法的介绍(续)
    云计算技术第三堂课20210317
    云计算与信息安全第三堂课20210316
    操作系统第三堂课20210315
    ROSPlan教程
    机器学习第二堂课20210311
    云计算技术第二堂课20210310
  • 原文地址:https://www.cnblogs.com/xdq-net/p/5462107.html
Copyright © 2011-2022 走看看