Чи можете ви поясніть, що таке асамблея в C # або .NET?
- Де воно починається і де закінчується?
- Яку важливу інформацію я повинен знати про збори?
Чи можете ви поясніть, що таке асамблея в C # або .NET?
Відповіді:
Збірка - це складений вихід вашого коду, як правило, DLL, але ваш EXE також є збіркою. Це найменша одиниця розгортання для будь-якого проекту .NET.
Збірка, як правило, містить .NET-код у MSIL (проміжна мова Microsoft), який буде скомпільований у рідний код ("JITted" - укладений компілятором Just-In-Time) при першому його виконанні на даній машині. Цей складений код також буде зберігатися у складі та повторно використовуватися при наступних викликах.
Асамблея також може містити такі ресурси, як піктограми, растрові карти, рядкові таблиці тощо. Крім того, збірка також містить метадані в маніфесті збірки - така інформація, як номер версії, чітке ім'я, культура, згадані збірки тощо.
У 99% ваших випадків одна збірка дорівнює фізичному файлу на диску - випадок багатофайлової збірки (одна збірка, що розподіляється по більш ніж одному файлу) виявляється досить випадковим краєм, який я ніколи не стикався дотепер у моїх 5+ роках розвитку .NET.
У мультифайловій збірці все ще залишиться лише один маніфест, що проявляється в DLL або EXE, і код MSIL у кількох файлах неттомодулів.
У рамках Microsoft .NET, збірка - це частково складена бібліотека кодів для використання в розгортанні, версії та безпеці.
http://www.codeguru.com/column/csharp_learning/article.php/c5845
Збірка - це файл, який автоматично генерується компілятором після успішної компіляції кожної програми .NET. Це може бути або бібліотека динамічних посилань, або виконуваний файл. Він генерується лише один раз для програми та після кожного наступного складання збірка оновлюється.
Ось ще одне пояснення щодо складання .NET зборів, міні-цитата:
Рамка .NET складається з концепцій модулів, збірок, які зберігають як метадані, так і маніфестовую інформацію. Збірка може містити кілька модулів. Visual C # лише коли-небудь створює один модуль, який перетворюється на збірку компілятором C # (csc.exe), але збірка може з'єднати багато модулів .NET разом через інструмент командного рядка збирання linker (al.exe). Наприклад, кожен з вихідних кодів .cs-файлів може бути зібраний в модуль і пов'язаний між собою для формування збірки - збірка - це лише сукупність модулів та ресурсів. Однак один з цих модулів; повинні містити явні метадані (див. нижче) інформацію про збірку, яку слід зрозуміти CLR.
….
Створивши новий .exe або .dll у VS.NET, ви побачите, що ваш файл з’являється всередині вашої папки. Відкривши його в блокноті, ви отримаєте невмілий або навіть всередині шістнадцятковий редактор, не знаючи структури файлу, вам потрібен такий інструмент, як ildasm.exe або провідник CFF, щоб визначити з нього сенс. Структура збірки така:PE-заголовок
CLR-заголовок
CLR-метадані
CLR
IL-код
Нативні дані
Відповідь полягає в тому, щоб негайно зрозуміти.
Простіше кажучи, це складений проект, що включає ваші класи та додаткові файли, якщо такі є. Тобто кожен проект у рішенні - це складання .
Або більш технічно,
Складання , де тип зберігається в flesystem. Асамблеї - це механізм розгортання коду. Наприклад,
System.Data.dll
збірка містить типи для управління даними. Для використання типів в інших збірках вони повинні бути посиланнями. - Джерело
Як ми це знаємо? Якщо ви подивитесь на властивості проекту під рішенням, ви можете побачити наступні зображення.
При складанні проекту виявляється DLL або EXE .
Коли вихідний код компілюється компілятором мови, він генерує керовану збірку та MSIL (MisroSoft Intermediate Language). Ця асамблея містить .dll або .exe файл . Assebmly може бути двох типів: Private Assembly та Shared Assembly ; спільна асамблея зберігається в GAC (Global Assembly Cache), так що будь-яка програма може посилатися на неї, тоді як приватна збірка зберігається в папці додатків, яку може використовувати лише одна програма.
Збірка - це DLL або EXE, які будуть створені, коли ви опублікуєте його або скомпілюєте свою заявку.
Асамблея - це сукупність логічних одиниць. Логічні одиниці відносяться до типів та ресурсів, необхідних для складання програми та їх розгортання за допомогою .Net Framework. В основному, зборка - це колекція Exe та DLL. Він портативний та виконується.
Після написання вихідного коду вашої програми (проекту) створюється файл, який може бути DLL або EXE, залежить від вашого проекту. Це робиться лише один раз для одного проекту. Він має два типи 1: - одиночний 2: - спільний або багатопрограмний єдиний збір, що використовується лише в одній програмі, тоді як спільний може використовуватися для багатопрограмового