【问题标题】:How to solve Error 189 The type 'XXX' exists in both ??.dll and ??.dll如何解决错误 189 类型“XXX”同时存在于 ??.dll 和 ??.dll 中
【发布时间】:2013-04-29 17:21:56
【问题描述】:

我已经为这个令人毛骨悚然的编译错误消息奋斗了几个星期,有时在我运行重新编译十几次后它就会消失。

我有一个 ASP.NET 2.0 网站(不是 WebApplication)。 当我编译时,我总是得到这个(对于不同的类型,不可预测)。

我想知道 - 它与 Framework\v4.0.30319 有什么关系? 这是一个 .NET 2.0 项目。

错误 189 类型 'XXX' 存在于两个 'c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\MyWebSite\7f070f1a\b1e2bb52\App_Web_search.ascx.cc671b29.j7lvxos_.dll ' 和 'c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\MyWebSite\7f070f1a\b1e2bb52\App_Web_mey4xl1t.dll'

我尝试删除这些临时 ASP.NET 文件 - 没有帮助。

尝试在web.config 中添加batch="false" 来编译元素,构建需要很长时间,但问题仍然存在。

【问题讨论】:

  • 你试过清洗溶液吗?
  • 这是否必须执行在 .NET 4.0 中从 System.Web 程序集移动到 System.Web.ApplicationServices 程序集的任何功能? (例如成员资格、角色等)如果是这样,您可能引用了错误版本的 System.Web
  • 当然我尝试清理并重新构建。没有帮助。
  • 运行编译几次后它就消失了,但随后又出现了。项目的所有部分都是 .NET 2.0。
  • 与论坛网站不同,我们不使用“谢谢”、“任何帮助表示赞赏”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?.

标签: asp.net compiler-errors


【解决方案1】:

你有一个类或其他对象的重复声明。

查看提到的类的名称,并在两个 dll 中搜索它的声明。其中一个显然是错误的。

【讨论】:

  • @Sigourney_Weaver 因为您的 IIS 网站很可能设置为使用在 ASP.NET 4.0 而不是 2.0 中运行的应用程序池。
  • 其实不是,是IIS 5.1,没有应用程序池,网站设置为.NET 2.0。
  • @Sigourney_Weaver 我会仔细检查项目中的所有引用是否都是 v2.0,因为此错误表明您在某处有 v4.0 dll。查看对象浏览器中的两个 Dll 以确定它们是什么以及为什么将它们包含在项目中。
猜你喜欢
  • 2010-09-27
  • 2011-02-05
  • 2021-09-14
  • 1970-01-01
  • 2017-01-13
  • 2012-05-16
  • 2022-08-22
  • 2012-07-30
  • 1970-01-01
相关资源
最近更新 更多