在调试模式下,ASP.Net Forms“类型存在于dll1和dll2中”,但不是Release模式

时间:2010-07-20 18:28:54

标签: asp.net .net-3.5 temporary-files

在针对.Net Framework 3.5的网站项目中,我偶尔会遇到如下错误:

  

类型'ASP._myetc_master'存在于'c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ site \ 3a65eca7 \ 73f2d86b \ App_Web_myetc.master.cdcab7d2.iefhoqis.dll '和'c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ site \ 3a65eca7 \ 73f2d86b \ App_Web_myetc.master.cdcab7d2.tgrvlldi.dll'

在更新站点的数据访问层所依赖的后端库之后,通常会弹出此错误,并在依赖于这些对象的页面中显示。我删除了有问题的临时ASP.Net Files文件夹,并删除并重新添加了有问题的引用并删除了我/ bin目录的内容。这些事情似乎没有任何影响(虽然我上次遇到问题时清除引用似乎解决了问题)。

我只在构建Debug配置时遇到错误 - 在Release配置中构建时不会发生错误。

任何指向我可能寻找原因或解决方案的地方都会受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

好的,我想我已经解决了。以下是我认为的独家新闻:

我的解决方案是结构化的,因此我有一个数据访问层项目,它引用了我们ERP系统的集成层。 Web项目引用数据访问层。我在Web项目中也引用了集成层,所以实际上它被包含了两次;一次由DAL和一次由Web项目。删除Web项目图层上的引用解决了该问题。

我仍然有点困惑,为什么错误消息指向主页中的重复而不是集成层提供的对象。我也很困惑为什么web项目在Release模式下构建正常而不是在Debug模式下。然而,我的具体问题似乎已得到解决。