Веб-сайт или веб-проект ASP.NET

При создании нового проекта ASP.NET в Visual Studio следует выбрать create: website или project?

Я понимаю, что проект веб-приложения был способом сделать это в те времена, когда была VS 2003, но применим ли он сегодня? Каковы некоторые предостережения при использовании одного или другого?

Комментарии к вопросу (5)
Решение

На сайте MSDN есть довольно хорошая сравнительная таблица.

Проекты веб-сайта просты, поскольку все файлы, добавленные в папки проекта, автоматически компилируются и включаются, что, предположительно, было добавлено, чтобы сделать его более приемлемым для классических разработчиков ASP и PHP. Еще одним преимуществом является наличие провайдеров сборки, которые позволяют ассоциировать определенные действия с типом файла - именно так в первом выпуске SubSonic перестраивался уровень доступа к данным, когда вы добавляли на сайт файл .abp.

Однако проекты веб-приложений гораздо более гибкие. Например, все библиотеки классов в проекте Website Project должны находиться в папке App_Code, что очень неудобно в сложных приложениях. Есть много сценариев, которые просто не подходят для проекта веб-сайта.

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

Комментарии (0)

Я категорически не согласен с некоторыми положениями статьи Websites and Web Projects.

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

Это была не какая-то "загрузка", выпущенная MS - это была VS2005 SP1, и они выпустили ее чертовски быстро.

Что касается их плюсов для беспроектной разработки, команда "Копировать проект" работает очень хорошо, и нам не нужно избегать файлов отладки или проекта; вы можете перемещать страницы - если вы не используете контроль исходного кода; откуда они взяли, что вы должны заблокировать файлы проекта для совместной работы? Что они используют для контроля исходных текстов?

Я бы также добавил один вопрос к дискуссии: что такого особенного в веб-сайтах, что они должны быть единственным типом "проекта" (насколько я знаю), который не использует "проект" файл? Я не могу ничего придумать, разве что Microsoft решила, что веб-разработчики слишком простодушны, чтобы понимать проекты.

Конечно, если кто-то знает какой-либо другой тип "проекта" Visual Studio, который не использует файл проекта, я буду благодарен, если мне об этом сообщат.

Комментарии (0)