Для попередньої компіляції в єдину збірку файлів коду проекту веб-додатки використовується Microsoft Build Engine (MSBuild). Компіляція веб-сторінок ASP.NET (ASPX) і призначених для користувача елементів управління (ASCX) виконується динамічно на сервері за допомогою компілятора ASP.NET.
Всі файли коду проекту (автономні файли, а також файли з виділеним кодом і класів конструктора) попередньо компілюються в єдину збірку. За замовчуванням ця збірка створюється і зберігається в папці Bin. Оскільки в цій моделі компіляції створюється єдина збірка, можна задати різні атрибути, в тому числі ім'я і версію збірки. Також можна задати розташування вихідний збірки. Щоб змінити розташування вихідний збірки, в браузері рішень клацніть правою кнопкою миші ім'я проекту, виберіть пункт Властивості. потім виберіть вкладку Побудова. На вкладці Побудова є поле Вихідний шлях. в якому можна вказати шлях до вихідний збірці.
Як і проект веб-вузла, проект веб-додатки визначається файлом, а не папкою проекту. Файл проекту містить посилання на включені в проект файли, а також посилання на складання і інші параметри метаданих проекту. Файли, що знаходяться в папці проекту, але не визначені у файлі проекту, що не компілюються в складі проекту веб-додатки. Посилання на параметри проекту, створені і змінені в Visual Studio або Visual Web Developer Express, зберігаються у файлі проекту з розширенням PROJ, який створюється для кожного проекту.
Для виконання і налагодження сторінок слід скомпілювати проект веб-додатки. Однак побудова всього проекту веб-додатки може виконуватися швидко, так як в Visual Studio і Visual Web Developer Express використовується інкрементна модель побудови, що передбачає побудову тільки змінених файлів.
Компіляція файлів класів
Для компіляції файлів класів в проектах веб-додатків використовується службова програма MSBuild. Файли класів компілюються в єдину збірку. За умовчанням вони зберігаються в папці Bin. Для настройки процесу компіляції можна використовувати стандартні правила розширення MSBuild. Додаткові відомості див. У розділі MSBuild Overview.
У наступній таблиці описуються типи компільованих в єдину збірку файлів класів в проектах веб-додатків.
Параметри настройки компіляції
Ім'я та версію вихідний збірки, а також інші відомості можна задати у вікні Конструктор проектів за допомогою елементів, розташованих на сторінці Додаток. У вікні Конструктор проектів на сторінці Побудова можна налаштувати параметри побудови проекту. Наприклад, можна встановити порядок обробки помилок, а також відомості про вихідні даних збірки. Крім того, на сторінці властивостей Події побудови можна додати дії, що виконуються до і після побудови під час компіляції. Додаткові відомості про сторінки властивостей см. В розділі Проекти, елементи призначеного для користувача інтерфейсу.
Якщо властивості Дія при побудові присвоєно значення Компілювати. за допомогою програми MSBuild за замовчуванням компілюються тільки файли класів в проектах веб-додатків. Зверніть увагу, що файли класів, які містяться в папці App_Code проекту веб-додатки, компілюються за допомогою ASP.NET. Компіляція цих файлів виконується навіть в тому випадку, якщо значення Компілювати чітко зазначених як дії при побудові.
Папка App_Code існує для проектів веб-сайтів. Ця папка зазвичай не включається в проекти веб-додатків. Додаткові відомості про папку App_Code см. В розділі Загальні папки коду в веб-проектах ASP.NET.
Файли коду попередньо компілюються в єдину збірку за допомогою програми MSBuild. У той же час, веб-сторінки ASP.NET (ASPX) і призначені для користувача елементи управління (ASCX) проекту веб-додатки компілюються динамічно на сервері за допомогою компілятора ASP.NET. Це означає, що після компіляції і розгортання веб-сторінок ASP.NET в них можна вносити певні зміни. Наприклад, можна змінити розташування елементів управління, колір, шрифт і інші параметри, що визначають зовнішній вигляд сторінки. Коли після внесення таких змін на сайт надходить перший запит сторінки, ASP.NET перекомпілюються змінені файли.
Можна визначити елемент управління в файлі з виділеним кодом, якщо він є захищеним або загальним. Так як ASPX-сторінка успадковує файл коду програмної частини, ця сторінка буде використовувати такий елемент управління. У таких випадках рекомендується поміщати визначення елемента управління в файл з виділеним кодом.
Тип елемента керування повинен успадковуватися від вбудованого типу ASP.NET.
Необхідно визначити відмінну від визначеної за замовчуванням область дії елемента управління. Область посилається на рівень доступності, такий як public. private. internal. protected і protected internal.
Оскільки всі файли класів компілюються в єдину збірку, розгортати необхідно тільки цю збірку разом з ASPX- і ASCX-файлами, а також файлами статичного вмісту. У цій моделі розмітка в ASPX-файл не компілюється в виконуваний код, поки сторінка не буде запрошена браузером.
При необхідності можна виконати компіляцію ASPX-файлів і включити їх в єдину збірку для розгортання. Додаткові відомості про розгортання проектів веб-додатків см. В розділі Практичний посібник. Публікація проектів веб-додатків.