ского интерфейса (Щ) нетрудно благодаря поддержке в ASP.NET отделен- ного кода (code-behind). Но иногда сделать это совсем не просто. Так, к ASPX-файлу могли быть добавлены блоки серверного сценария (на С# или Visual Basic). Хотя для развертывания приложения исходный код на С# или Visual Basic не нужен, вам понадобятся ASPX-файлы (Web-фор- мы), которые тоже могут содержать код. Это же относится к файлам типа ASCX (пользовательские элементы управления), ASMX (реализации Web-сервисов) и ASHX (обработчики). Кроме того, Visual Studio .NET создает RIiSX-файлы, файлы проектов и решений. И когда дело доходит до развертывания ASP.NET-приложений, вопрос о том, какие файлы вклю- чать, а какие — нет, становится      ^                          .   серьезным.

Посмотрим, какие именно файлы генерирует Visual Studio     и где они

находятся в дереве каталогов.

Структура каталогов по умолчанию

Когда вы открываете новый проект, Visual Studio создает структуру каталогов по умолчанию. В предыдущих версиях Visual Studio файлы про­екта обычно помещались в один каталог, нередко содержащий несколько подкаталогов (например, среда Visual Studio 6.0 создавала подкаталог \ге$). В случае ASP.NET структура каталогов, формируемых Visual Studio весьма изощренна.

Во-первых, так как приложения ASP.NET предназначены для работы в

Web, они подчиняются ограничениям Microsoft Internet Information Ser­vices (IIS). To есть этим приложениям нужны виртуальные каталоги. Ма­стер ASP.NET-приложений Web Forms создает виртуальный каталог при создании приложения. По умолчанию Visual Studio помещает боль­шинство файлов приложения в один из подкаталогов каталога wwwroot. Скажем, если вы создадите в Visual Studio .NET ASP.NET-приложение AppDuJour, в wwwroot автоматически будет сформирована такая структу­ра каталогов;

INetPub wwwroot

AppDuJour

AppDuJour.csproj

\bin