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

Должен ли я при создании нового проекта ASP.NET в Visual Studio выбрать создание: веб-сайт или проект?

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

Ответов (2)

Решение

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

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

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

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

Я категорически не согласен с некоторыми положениями статьи о веб-сайтах и ​​веб-проектах .

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

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

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

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

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