.NET Сборка (assembly)
И так мы установили и бегло познакомились с основными компонентами платформы .NET Framework, но для того, чтобы двигаться дальше, необходимо познакомиться с таким понятием, как сборка (assembly)
Сборка — это наименьшая единица в мире .NET, которая представлена в виде файлов с расширением .exe или .dll, и содержит внутри себя код на промежуточном языке IL (Intermediate Language).
Чтобы лучше понять, что такое .net сборка, разберём небольшой пример.
Компиляция и создание файла сборки
Для начала создадим новый консольный проект и напишем в нём любой произвольный код. Для того, чтобы получить сборку, выполните одно из следующих действий:
Так же хочется отметить, что для каждого языка .NET существует свой компилятор, например: для языка си шарп компилятор csc.exe (C-Sharp Compiler), для Visual Basic vbс.exe и так далее.
И так Вы выбрали один из способов описанных выше, выполнили компиляцию и получили файл сборки. Возникает вопрос, где искать созданный файл?
Путь к файлу .NET Сборки
Перейдите в окно Solution Explorer и нажмите правой кнопкой мыши на имени текущего проекта, на рисунке он обозначен словом Auto и выделен, синим цветом.
далее выберите пункт: Properties
В открывшемся окне, перейдите на вкладку «Build»
найдите надпись: «Output Path», в этой строке указан путь к файлу сборки: «bin\Debug\», для того, чтобы посмотреть полный путь или изменить текущий, используйте кнопку Browse, которая расположена рядом с этой строкой.
Путь к файлу сборку определён.
Для того, чтобы быстро перейти в папку, содержащую файл сборки, используйте следующие действия:
Нажмите на значок папки, либо используйте сочетание клавиш: Ctrl+O
После чего откроется окно содержащие папки и файлы текущего проекта
Зайдите в папку bin, затем в папку Debug, внутри папки Вы увидите файл с именем нашего проекта и расширением .exe или .dll. Расширение файла зависит от того, какой тип приложения Вы создаете в данный момент, будь-то динамическая библиотека(.dll), или исполняемый файл(.exe). На рисунке нужный нам файл помечен жёлтым цветом, на остальные файлы пока не обращайте внимания, они создаются во время режима отладки.
Состав файла .NET сборки:
На каком бы языке мы не писали код в платформе .NET, после компиляции, Вы получаете однофайловую сборку (один файл с расширением .exe или .dll), которая содержит следующие компоненты:
На самом деле после компиляции мы можем получить не однофайловую, а многофайловую сборку. Но используются такие сборки реже, и чаще всего Вы будете встречать первый вид сборок — однофайловые.
О промежуточном языке IL поговорим более подробно в следующей статье, а пока разберем остальные компоненты сборки.
Метаданные
Метаданные генерируются автоматически компилятором .NET в момент создание сборки, они описывают типы и члены, содержащиеся внутри сборки.
Типы: класс, интерфейс, структура, перечисление, делегат.
Члены: поля, свойства, методы, события, конструкторы и так далее
Типы, могут содержать любое количество членов.
Например: Вы создаёте новый проект. Создаете новый класс Animal (тип). Производите компиляцию и получаете файл сборку. Который по мимо выше описанных компонентов, так же будет содержать и метаданные нашего типа, в нашем случаи класса Animal. Такие как, конструкторы, базовый или абстрактный класс для нашего класса Animal, реализуемые интерфейсы, а так же члены, которые содержит наш класс.
Для просмотра метаданных, а так же других компонентов сборки применяется утилита ildasm, о которой Вы можете прочитать в следующей статье.
Манифест
Помимо выше перечисленного сборка так же содержит ещё одни метаданные, который описывает саму сборку, такие метаданные называют — манифест. Эти данные формируются так же автоматически в процессе компиляции.
Файл манифест содержит такую информацию, как
И так 4 компонент сборки, это ресурсы.
Ресурсы — это добавленные в нашу сборку: значки, картинки, звуки, иконки, и другие данные, которые являются необязательными.
Если в приложение нам не нужны звуки и картинки, мы просто не будем их добавлять. Соответственно наша сборка не будет содержать ресурсы, но при этом стоит помнить, что IL-код, метаданные и манифест, присутствуют всегда.
На самом деле сборка содержит ещё несколько дополнительных компонентов, знания о которых не требуются обычным разработчикам, поэтому они не были упомянуты.
Так же стоит знать, что сборки бывают нескольких типов: общие, приватные и дружественные. Более подробно о типах сборок, вы узнаете в следующих статьях.
И так мы установили и бегло познакомились с основными компонентами платформы .NET Framework, но для того, чтобы двигаться дальше, необходимо познакомиться с таким понятием, как сборка (assembly)
Сборка — это наименьшая единица в мире .NET, которая представлена в виде файлов с расширением .exe или .dll, и содержит внутри себя код на промежуточном языке IL (Intermediate Language).
Чтобы лучше понять, что такое .net сборка, разберём небольшой пример.
Компиляция и создание файла сборки
Для начала создадим новый консольный проект и напишем в нём любой произвольный код. Для того, чтобы получить сборку, выполните одно из следующих действий:
- нажмите клавишу F6, после чего произойдет
- компиляция проекта (её выполнит компилятор языка c# — csc.exe)
- создание файла сборки
- Ещё один способ, заключается в нажатие клавиши: F5 или сочетания клавиш: Ctrl+F5, вместо F6
- компиляция проекта
- создание файла сборки
- запуск приложения в режиме отладки или без отладки (Ctrl+F5)
Так же хочется отметить, что для каждого языка .NET существует свой компилятор, например: для языка си шарп компилятор csc.exe (C-Sharp Compiler), для Visual Basic vbс.exe и так далее.
И так Вы выбрали один из способов описанных выше, выполнили компиляцию и получили файл сборки. Возникает вопрос, где искать созданный файл?
Путь к файлу .NET Сборки
Перейдите в окно Solution Explorer и нажмите правой кнопкой мыши на имени текущего проекта, на рисунке он обозначен словом Auto и выделен, синим цветом.
далее выберите пункт: Properties
В открывшемся окне, перейдите на вкладку «Build»
найдите надпись: «Output Path», в этой строке указан путь к файлу сборки: «bin\Debug\», для того, чтобы посмотреть полный путь или изменить текущий, используйте кнопку Browse, которая расположена рядом с этой строкой.
Путь к файлу сборку определён.
Для того, чтобы быстро перейти в папку, содержащую файл сборки, используйте следующие действия:
Нажмите на значок папки, либо используйте сочетание клавиш: Ctrl+O
После чего откроется окно содержащие папки и файлы текущего проекта
Зайдите в папку bin, затем в папку Debug, внутри папки Вы увидите файл с именем нашего проекта и расширением .exe или .dll. Расширение файла зависит от того, какой тип приложения Вы создаете в данный момент, будь-то динамическая библиотека(.dll), или исполняемый файл(.exe). На рисунке нужный нам файл помечен жёлтым цветом, на остальные файлы пока не обращайте внимания, они создаются во время режима отладки.
Состав файла .NET сборки:
На каком бы языке мы не писали код в платформе .NET, после компиляции, Вы получаете однофайловую сборку (один файл с расширением .exe или .dll), которая содержит следующие компоненты:
- инструкции (код) на промежуточном языке IL
- Метаданные
- Манифест
- Ресурсы
На самом деле после компиляции мы можем получить не однофайловую, а многофайловую сборку. Но используются такие сборки реже, и чаще всего Вы будете встречать первый вид сборок — однофайловые.
О промежуточном языке IL поговорим более подробно в следующей статье, а пока разберем остальные компоненты сборки.
Метаданные
Метаданные генерируются автоматически компилятором .NET в момент создание сборки, они описывают типы и члены, содержащиеся внутри сборки.
Типы: класс, интерфейс, структура, перечисление, делегат.
Члены: поля, свойства, методы, события, конструкторы и так далее
Типы, могут содержать любое количество членов.
Например: Вы создаёте новый проект. Создаете новый класс Animal (тип). Производите компиляцию и получаете файл сборку. Который по мимо выше описанных компонентов, так же будет содержать и метаданные нашего типа, в нашем случаи класса Animal. Такие как, конструкторы, базовый или абстрактный класс для нашего класса Animal, реализуемые интерфейсы, а так же члены, которые содержит наш класс.
Для просмотра метаданных, а так же других компонентов сборки применяется утилита ildasm, о которой Вы можете прочитать в следующей статье.
Манифест
Помимо выше перечисленного сборка так же содержит ещё одни метаданные, который описывает саму сборку, такие метаданные называют — манифест. Эти данные формируются так же автоматически в процессе компиляции.
Файл манифест содержит такую информацию, как
- имя сборки
- название фирмы
- текущая версия сборки
- например:1.0.0.0
- список ссылок на внешние сборки
- например:System.Windows.Forms.dll
- авторские права
- и многое другое
И так 4 компонент сборки, это ресурсы.
Ресурсы — это добавленные в нашу сборку: значки, картинки, звуки, иконки, и другие данные, которые являются необязательными.
Если в приложение нам не нужны звуки и картинки, мы просто не будем их добавлять. Соответственно наша сборка не будет содержать ресурсы, но при этом стоит помнить, что IL-код, метаданные и манифест, присутствуют всегда.
На самом деле сборка содержит ещё несколько дополнительных компонентов, знания о которых не требуются обычным разработчикам, поэтому они не были упомянуты.
Так же стоит знать, что сборки бывают нескольких типов: общие, приватные и дружественные. Более подробно о типах сборок, вы узнаете в следующих статьях.