Я недавно унаследовал довольно большой веб-сайт. Проект настроен как веб-сайт в Visual studio, а не как веб-приложение. По ряду причин я хотел бы преобразовать его в веб-приложение.
Я начал преобразовывать приложение, используя следующие инструкции Скотта Гу: Миграция проекта веб-сайта VS 2005 в проект веб-приложения VS 2005 .
Во время преобразования я обнаружил, что на этом веб-сайте используется множество директив #include для включения других файлов .aspx. Основная проблема заключается в том, что в настоящее время каждый файл code-behind напрямую вызывает элементы управления (используя this.) Со страниц, которые он включает.
Такое поведение, по-видимому, допускается тем, что компилятор динамически создает файлы .designer в памяти во время компиляции.
Проблема в том, что, поскольку я конвертирую приложение в веб-приложение, я создаю физические версии файлов .designer. Теперь тот же вызов элементов управления на включенных страницах (используя this.) Больше не работает.
Я попробовал несколько вещей, чтобы попытаться исправить это:
Во-первых, я заметил, что у включаемых файлов .aspx нет директивы @ Page, поэтому я попытался добавить ее. Это предотвратило компиляцию приложения, потому что главная страница теперь имела несколько директив @page.
Во-вторых, я попытался просто переименовать включенные файлы .aspx в .inc, но у меня все еще есть проблема с главной страницей, так как я больше не могу получить доступ к элементам управления, как раньше.
Кто-нибудь когда-либо делал это раньше, и есть какие-либо мысли о том, как действовать без изменения всей структуры веб-сайта?
edit: я решил не проводить конвертацию в настоящее время просто потому, что любые выгоды не будут стоить хлопот. Спасибо за помощь.