17

Можно создать дубликат:
ASP.NET: Web Site or Web Application?ASP.NET веб-сайт или веб-проект

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

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

+0

Имейте в виду одну из наиболее привлекательных функций веб-проектов: [SVN Integration] (http://stackoverflow.com/questions/279/aspnet-visual-studio-and-subversion-how-to-integrate), что просто невозможно с веб-сайтами. – 2008-08-14 08:19:36

ответ

26

Есть pretty good comparison chart on MSDN.

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

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

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

3

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

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

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

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

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

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