Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Роль папки Bin
Роль папки Bin
Позже вы увидите, что Web-страницы ASP.NET в конечном счете компилируются в компоновочный блок .NET. Поэтому не должно быть неожиданностью то, что Web-узлы могут ссылаться на любое число приватных или общедоступных компоновочных блоков, В ASP.NET 2.0 метод указания внешних компоновочных блоков, необходимых для данного узла, в корне отличается от того, что предлагалось в рамках ASP.NET 1.x. Причина такого изменения в том, что теперь в Visual Studio 2005 Web-узлы трактуются в беспроектной форме.
Хотя шаблон Web Site и генерирует файл *.sln, с помощью которого можно загрузить файлы *.aspx в среду разработки, связанного с ним файла *.csproj не существует. Вы, возможно, знаете, что проект Web-приложения ASP.NET 1.x записывал информацию обо всех внешних компоновочных блоках в файл *.csproj. Этот факт порождает резонный вопрос: "Где хранится информация о внешних компоновочных блоках в ASP.NET 2.0?"
Когда вы ссылаетесь на приватный компоновочный блок, Visual Studio 2005 автоматически создает каталог Bin в структуре каталогов приложения, чтобы сохранить там локальную копию двоичного файла. При использовании вашим программным кодом типов из соответствующих библиотек программного кода они автоматически загружаются по первому запросу. Для проверки активизируйте меню WebSite?Add Reference и выберите любой (но не строго именованный) файл *.dll из тех, которые вы создали в процессе изучения текста этой книги, и вы обнаружите, что в окне Solution Explorer отображается папка Bin (рис. 23.14).
Рис. 23.14. Папка Bin содержит копии всех приватных компоновочных блоков, на которые ссылается приложение
Если же вы ссылаетесь на общедоступный компоновочный блок, Visual Studio 2006 автоматически добавляет в текущее Web-решение файл web.config (если его еще нет) и записывает внешнюю ссылку в рамках элемента ‹assemblies›. Так, если снова активизировать меню Site?Add Reference, но на этот раз выбрать общедоступный компоновочный блек (например. System.Drawing.dll), то вы обнаружите, что ваш файл Web.config примет следующий вид.
‹?xml version="1.0"?›
‹configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"›
‹appSettings/›
‹connectionStrings/›
‹system.web›
‹compilation debug="false"›
‹assemblies›
‹add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/›
‹/assemblies›
‹/compilation›
‹authentication mode="Windows"/›
‹/system.web›
‹/configuration›
Как видите, каждый компоновочный блок описывается с помощью той же информации, которая требуется для динамической загрузки через метод Assembly.Load() (см. главу 12).
- Роль товарной категории и установление цены
- Каталог BIN в SuperServer
- Каталог BIN в InterBase Classic Server для Linux
- Binary Serialization
- 5. COMBINING DOCUMENTS
- Data Binding Using the GridView Control
- Контрольные вопросы
- Создание папки в библиотеке
- Глава 14. Почему потребительский опыт играет важную роль в выстраивании клиентских взаимоотношений
- Можно ли избавиться от необходимости использовать двойной щелчок кнопкой мыши при открытии папки?
- Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев
- Как изменить имя файла или папки?