Asp.Net Ambiguous match found 错误另一种解决方法

发生日期:2016-05-05

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

其他人的解决方法:

http://blog.163.com/[email protected]/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文件中

时间: 2024-08-29 20:12:07

Asp.Net Ambiguous match found 错误另一种解决方法的相关文章

电脑出现kernelbase.dll错误的两种解决方法

KernelBase.dll是Windows操作系统的重要文件,它为各种应用程序提供服务.如果电脑提示kernelbase.dll错误,这该怎么处理?大家可以用电脑自带的防火墙或者是第三方软件来进行故障的修复,想进一步了解处理方法的小伙伴赶快往下学习. 方法一: 在开始使用KernelBase.dll错误修复程序之前,请重新启动您的PC并以安全模式启动系统.然后执行以下步骤: 1.如果您怀疑可能已经删除了该文件,请转至回收站,然后使用搜索在该文件夹中查找该文件.如果有,请点击它并选择恢复. 2.

关于javax.crypto.BadPaddingException: Blocktype错误的几种解决方法

关于javax.crypto.BadPaddingException: Blocktype异常的几种解决办法 转载请注明出处 1.异常描述:最近做项目为了增强数据传输的安全性用到了RSA加密.即android客户端将要传送的信息,用私钥通过RSA非对称加密算法加密后,传到服务器端(PC端).服务器端用对应(密钥)的公钥来解密时解密失败,抛出"javax.crypto.BadPaddingException: Blocktype"异常. 2.异常原因:Android系统使用的虚拟机(da

ASP.NET MVC Code First 遇到的问题及解决方法

照抄大牛的Demo,自己信心满满地建好个各种项,结果死活不让通过,遇到了以下几个问题(大部分是自己作出来的...) 1.运行不起来,报错如下Error 26: SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 各种百度都是不行,后来看了一下,WebConfig的连接字符串是新加而

“ASP.default_aspx”并不包含“DropDownList1_SelectedIndexChanged”的定义,其解决方法。

在使用DropDownList控件的DataBind方法,将ArrayList数组绑定在DropDownList空间中,执行程序, 出现错误: 错误 : "ASP.default_aspx"不包含"DropDownList1_SelectedIndexChanged"的定义,并且找不到可接受类型为"ASP.default_aspx"的第一个参数的扩展方法"DropDownList1_SelectedIndexChanged"(

ORA-06413连接未打开的错误的原因和解决方法

ORA-06413连接未打开的错误的原因和解决方法 [转载] 自:http://blog.csdn.net/wybshyy/article/details/52064444 标签:              64位系统连Oracle 转自:http://liaozenghui.com/asp.net/2015/01/21/ORA-06413%E8%BF%9E%E6%8E%A5%E6%9C%AA%E6%89%93%E5%BC%80%E7%9A%84%E9%94%99%E8%AF%AF.html 有

SQL2008无法连接到.\SQLEXPRESS,用户'sa'登录失败(错误18456)图文解决方法

出现问题 : 标题: 连接到服务器------------------------------无法连接到 .\SQLEXPRESS.------------------------------其他信息:用户 'sa' 登录失败. (Microsoft SQL Server,错误: 18456)   解决方法:  1.打开数据库——用Windows身份登录数据库   02.登录名——双击sa(打开属性)  03.常规——设置密码——确定  04.状态——登录:启用——确定  05. 右击服务器名—

SQL Server附加数据库出现错误5123的正确解决方法

SQL Server附加数据库出现错误5123的正确解决方法 因为自己有一本基于SQL Server 2005的数据库教程,里边使用的示例数据库是AdventureWorks for SQL Server 2005,而我的机子上装的是SQL Server 2008,示例数据库是AdventureWorks for SQL Server 2008.起初我以为示例数据库AdventureWorks for SQL Server 2005 与AdventureWorks for SQL Server

SQL Server 2008 用户SA登录失败(错误18456)之图文解决方法

SQL2008无法连接到.\SQLEXPRESS,用户'sa'登录失败(错误18456)图文解决方法 出现问题 : 标题: 连接到服务器 ------------------------------ 无法连接到 .\SQLEXPRESS. ------------------------------ 其他信息: 用户 'sa' 登录失败. (Microsoft SQL Server,错误: 18456) 解决方法: 1.打开数据库——用Windows身份登录数据库 02.登录名——双击sa(打开

ASP+中文显示之两种解决方法

作者刚开始写ASP+程序时候碰到的第一个比较大的问题就是中文显示问题,运行后发现ASP+从数据库中读 取出来的中文全部变成了?????,有点类似jsp中的这个频率出现最高的中文显示问题了,查了资料发现有 两种方法可以轻松解决中文问题. 方法一: 在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到 web目录下,试了一下,中文显示果然OK了. 方法如下: 建立一个文件config.web,内容如下,放在WEB目录下 <configuration> <