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文件中

  • 相关阅读:
    pandas Dataframe filter
    process xlsx with pandas
    data manipulate in excel with easyExcel class
    modify registry in user environment
    add number line in vim
    java import webservice
    ctypes MessageBoxA
    music 163 lyrics
    【python实例】自动贩卖机
    【python基础】sys模块(库)方法汇总
  • 原文地址:https://www.cnblogs.com/xdq-net/p/5462107.html
Copyright © 2011-2022 走看看