Складання в середовищі clr
Складання є структурними елементами додатків .NET Framework; вони складають основну одиницю розгортання, управління версіями, повторного використання, областей дії активації і дозволів безпеки. Збірка являє собою колекцію типів і ресурсів, зібраних для спільної роботи і утворюють логічну функціональну одиницю. Збірка надає загальномовна виконуючою середовищі відомості, необхідні для розпізнавання реалізацій типів. Для середовища виконання тип не існує поза контекстом збірки.
Збірка має такі властивості.
Містить код, що виконується загальномовна виконуючою середовищем. При відсутності маніфесту збірки код на проміжному мовою MSIL, що знаходиться в переносимому исполняемом (PE) файлі, виконуватися не буде. Майте на увазі, що кожна збірка може мати тільки одну точку входу (т. Е. DllMain. WinMain або Main).
Створює межу безпеки. Збірка є одиницю, для якої запитуються і надаються дозволи. Додаткові відомості про межі безпеки і їх застосуванні до збірок см. В розділі Питання безпеки збірок.
Створює кордон типів. Кожне посвідчення типу включає ім'я збірки, в якій розташовується даний тип. Тип з ім'ям MyType. завантажений в області дії однієї збірки, не збігається з типом MyType. завантаженим в області дії іншого збірки.
Створює кордон, що обмежує область дії посилань. Маніфест збірки містить метадані, які використовуються для вирішення типів і для виконання пов'язаних з ресурсами запитів. У маніфесті вказуються експортуються за межі збірки типи і ресурси. Крім того, в маніфесті перераховуються інші збірки, від яких він залежить.
Створює кордон версій. Збірка є найменшою одиницею в середовищі CLR, яка може мати версії. Всі типи і ресурси в одній збірці з точки зору відстеження версій є єдиним цілим. У маніфесті збірки описуються залежності певних версій від інших збірок. Додаткові відомості про управління версіями см. В розділі Управління версіями збірки.
Становить одиницю розгортання. При запуску програми можуть бути присутніми лише збірки, спочатку викликаються додатком. Інші збірки, наприклад ресурси локалізації або збірки, що містять допоміжні класи, можуть вилучатись на вимогу. Це дозволяє додаткам зберігати просту структуру і малий розмір при первинному завантаженні. Додаткові відомості про розгортання збірок см. В розділі Розгортання додатків.
Збірка є одиницею, для якої підтримується паралельне виконання. Додаткові відомості про виконання декількох версій збірок см. В розділі Складання і паралельне виконання.
Збірки можуть бути статичними або динамічними. Статичні збірки можуть включати в себе типи платформи .NET Framework (інтерфейси і класи), а також ресурси збірки (малюнки, JPEG-файли, файли ресурсів і т. Д.). Статичні збірки зберігаються на диску у вигляді переносяться виконуваних (PE) файлів. Крім того, платформу .NET Framework можна використовувати для створення динамічних збірок, які запускаються безпосередньо з пам'яті і не зберігаються на диск перед виконанням. Динамічні збірки можна зберегти на диску після виконання.
Існує кілька способів створення збірок. Можна використовувати засоби розробки, такі як Visual Studio, які раніше використовувалися для створення DLL- або EXE-файлів. Щоб створити збірки з використанням модулів, створених в інших засобах розробки, можна скористатися засобами Windows SDK. Для створення динамічних збірок також можна використовувати інтерфейси CLR такі, як Reflection.Emit.