【发布时间】:2012-03-14 01:32:06
【问题描述】:
我将我的 ASP.NET 项目从 3.5 迁移到 4.0(VS2008 到 VS2010),当我尝试发布网站时遇到了这个错误:
类型 'TYPE' 存在于两者中 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET 文件...\App_Web_1z57x8dg.dll' 和 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET 文件...\App_Web_ofaxwney.dll'
但是,当我回到我的 .NET 3.5/VS2008 项目时,它可以毫无问题地发布。我发现了一些类似问题的 SO 问题,this 特别提供了非常丰富的信息。我做了batch="false" 选项,但仍然遇到问题。
一定存在循环引用的问题。回到 .NET 4.0 项目,我开始更仔细地查看错误并发现许多类似的情况:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ViewPresentationTabControl.ascx.cs" Inherits="Common_UserControls_PresentationTabControl" %>
如果你仔细观察,Inherits 标签指向了错误的控件。这是复制和粘贴代码的受害者(由我们继承此项目的离岸承包商提供)。
我检查了所有错误并修复了明显的错误,该项目可以在 .NET 4.0/VS2010 中发布。
这篇冗长的帖子的目的是为什么 3.5 允许这种情况发生,而不是 4.0?似乎这样的事情会在任何版本中引起重大问题,但显然没有。
任何信息将不胜感激。
【问题讨论】:
标签: .net asp.net-3.5 asp.net-4.0