2

Я считаю, что полностью понимаю различия между моделью веб-сайта Visual Studio 2005 и моделью проекта веб-приложения, которая была полностью доставлена ​​в VS2005 SP1, но Я столкнулся с запутанной вещью:Почему проект веб-приложения в VS2005 предлагает выбор меню «Преобразование в веб-приложение»

У меня есть проект веб-приложения, который я написал (у него есть папка bin с скомпилированным projectname.dll и ссылки .dlls тоже и т. Д.). но я заметил, что если я щелкнул правой кнопкой мыши по проекту в обозревателе решений, откроется пункт меню «Преобразование в веб-приложение»). Для меня это не имеет смысла.

Я сравнивал этот проект с решением «веб-сайта» в VS2005 и рассматривал его преобразование в проект веб-приложения. Как ни странно, исследователь решений не предлагает ничего, что связано с «Конверсией в веб-приложение» здесь, как можно было бы подумать, что возможно и/или уместно.

Я пришел к выводу, что нет ничего, что могло бы помочь автоматизировать изменение конструкции «веб-сайта» в надлежащем «проекте веб-приложений». Я предполагаю, что все это нужно сделать вручную. Задачи, такие как восстановление файлов в App_Code в один или несколько проектов библиотеки классов, должны выполняться вручную.

Я понимаю, что многое было написано об истории и различиях, но кто-то может объяснить, почему предложение «конвертировать в веб-приложение» похоже сделано в «неправильной» модели - и просто подтвердите, что преобразование является ручным.

ответ

2

Мастер преобразования делает приличную работу - процесс далеко не строго ручной, но вы по-прежнему будете тратить много времени на переход от веб-сайта к модели веб-приложений.

«Преобразовать в веб-приложение» вариант контекстного меню для ASPX страниц генерирует myclass.designer.cs файл, который связывает элементы управления, определенные в разметке обратно к классу отделенного кода, что позволяет IntelliSense, время компиляции проверки, и другие вещи.

Выполнение этого действия в файле проекта должно генерировать файлы конструктора для всех aspx в проекте, и я считаю, что также создает некоторые параметры приложения по умолчанию, такие как имя сборки и т. Д., Которые не определены в проекте веб-сайта, где выход - это источник, а не сборка.

+0

После прочтения учебника Скотта Гатри и вашего ответа тоже я думаю, что я вижу, почему существующее веб-приложение предоставит это «Конвертировать в веб-приложение». Что касается того, почему модель веб-сайта не имеет этого, я предполагаю, что когда эта модель была помещена в исходный продукт VS2005, они понятия не имели, что они пренебрегли файловой моделью проекта и, следовательно, быстрой доставкой «предварительного просмотра» и SP1. Я подозреваю, что «мастер преобразования», на который вы ссылаетесь, предназначен для веб-приложения VS2003 для веб-приложения VS2005. Мне неизвестен какой-либо мастер преобразования, который работает на модели веб-сайта VS2005. Где я могу это найти? –

1

Я собираюсь предположить, что «веб-приложение», которое вы написали, не начиналось с правильного файла vsproj. Если вы принесете проект, который не имеет правильной схемы файловой системы .aspx, aspx.cs, aspx.designer.cs, тогда визуальная студия предположит, что вы пытаетесь создать «веб-приложение» и вы получаете это преобразование особенность.

Еще в 2005 году Скотт Гатри сделал урок о преобразовании проекта веб-сайта в проект веб-приложения. Вот the section о миграции из проекта веб-сайта в проект веб-приложения.

Надеюсь, это поможет некоторым.

+0

Спасибо, Крис. Я просто изучил учебник Скотта, который очень хорош и полезен. Я на 99% уверен, что начал с соответствующего файла .vsproj. У меня есть только один файл default.aspx внутри, и у него уже был default.aspx.designer.cs, расположенный рядом с ним.Возможно, пункт меню «Преобразовать в веб-приложение» доступен ВСЕГДА (несмотря на то, что в настоящее время он не нужен). Единственным другим объяснением может быть тот факт, что у меня есть 2 файла HTTPHandler.ashx (каждый со своим компаньоном .ashx.cs, но не имеет .ashx.designer.cs). Это предположение, потому что я подозреваю, что такой вещи нет. –

 Смежные вопросы

  • Нет связанных вопросов^_^