Веб-проект ASP.NET можно создавать как веб приложение и как веб сайт. Конечная цель обоих проектов - это рабочий сайт, размещенный на сервере. В веб-приложении весь программный код, находящийся в различных папках и файлах, компилируется в сборку .dll. При работе с веб-сайтом текстовые файлы с программным кодом размещаются непосредственно на сервере для динамической компиляции во время загрузки веб-страниц. Выбрать ту или иную схему построения помогают теоретические знания и опыт работы с различных типами веб-проектов.
Просмотр содержимого веб-приложения и веб-сайта в MS Visual Studio. В веб-приложении файлы исключенные из проекта, по умолчанию, невидимы и просмотреть их можно нажав кнопку показа всех файлов, при этом исключенные файлы будут выделены прямоугольником из точек. Данная опция отключения видимости даёт возможность сосредоточиться только на рабочих файлах проекта. В проекте веб-сайта видны все файлы, исключенные же из проекта файлы маркируются расширением .exclude, но не скрываются. При публикации файлы, исключенные из любого веб-проекта, на сервер не переносятся.
Работая над веб-приложением программный код можно помещать в любые папки, но не желательно использовать название для папки App_Code, эта папка зарезервирована для веб-сайта и при запуске веб-проекта в Visual Studio возможна двойная компиляция (хотя после публикации на сервер нормальная работа восстанавливается). Программный код веб-сайта напротив рекомендуется помещать только в папку App_Code. В веб-приложении и в веб-сайте можно использовать вложенность папок любой разумной глубины.
Веб-приложения ASP.NET создаются в MS Visual Studio, MS Visual Studio Code. Все файлы классов с выделенным кодом и отдельные файлы классов в проекте компилируются в единую сборку, которая помещается в папку Bin проекта веб-приложения. Файлы же ASPX , ASCX , CSHTML публикуются в неизменном виде и компилируются динамически на сервере, подобно функциональности веб-сайта.
Веб-сайты ASP.NET можно создавать и редактировать в MS Visual Studio, в Visual Studio Code, и редактировать используя текстовый редактор типа Блокнот. Компилировать веб-сайт не требуется. Файлы веб-сайтов компилируются автоматически на сервере при запросе веб-страниц. Можно выбрать режим пакетной компиляции, в котором создается одна сборка для каждой папки, или режим фиксированной компиляции, в котором одна сборка для каждой страницы или пользовательского элемента управления. Данная настройка фиксируется в файле конфигурации веб-узла web.config.
При достаточном опыте программирования в среде .NET, можно создавать веб-проекты и веб-приложений и веб-сайтов с помощью любого текстового редактора и компилятора языка C#. Но это крайне непроизводительный способ создания программных проектов.
К статье прикреплены исходники примеров веб-приложения и веб-сайта. Исходники созданы в MS Visual Studio 2013 и могут быть открыты в более поздних выпусках. Веб-сайт может быть открыт дополнительно ещё в Visual Studio Code, WebMatrix или редактироваться в любом текстовом редакторе. В составе веб-сайта есть класс с методами создающими текстовое сообщение и двоичные данные картинки с надписью. Данный класс можно запросто редактировать непосредственно на сервере.