Я перенес свой проект 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 со схожими проблемами, в частности это было очень информативным. Я сделал опцию 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? Кажется, что-то подобное вызовет серьезную проблему в любой версии, но, очевидно, это не так.
Любая информация будет принята с благодарностью.