В чём разница между сборкой и библиотекой?

132
20 октября 2019, 07:20

Перечитываю о пространстве имён и сборке и что-то зацепился за эти слова.

Пространства имен и сборки

Директива using просто помещает элементы пространства имен в область видимости и освобождает вас от необходимости использования в именах кода полной классификации. Классы компилируются в сборки.

Сборка представляет собой файл, для имени которого обычно используется расширение .dll, хотя, строго говоря, исполняемые программы в файлах с расширением .exe также являются сборками.

В сборке может содержаться множество классов. Классы, включенные в библиотеку классов .NET Framework, например System.Console, предоставляются в сборках, устанавливаемых на ваш компьютер вместе с Visual Studio. Вы увидите, что библиотека классов .NET Framework содержит тысячи классов. Если бы все они содержались в одной сборке, она была бы слишком большой и сложной в сопровождении. (Если бы компании Microsoft понадобилось обновить всего лишь один метод в одном из классов, то ей пришлось бы распространить всю библиотеку классов среди всех разработчиков!)

Поэтому библиотека классов .NET Framework разбита на целый ряд сборок, разделенных функциональными областями, к которым относятся содержащиеся в них классы.

Answer 1

Сборка - это файл, в который упакован код на языке MSIL, метаданные и данные ресурсов (текст, изображения и т.п.).

Сборка без "входной точки запуска", т.е. без static void Main(string[] args) называется библиотекой классов или просто библиотекой, такому файлу компилятором назначается расширение файла dll. Если же в сборке есть класс имеющий эту "входную точку запуска", то такая сборка считается исполняемым файлом и соотв. имеет расширение exe.

В чём разница между сборкой и библиотекой?

Библиотека - это особый вид сборки или, если хотите, файла.

Приведенная вами цитата -- это яркий пример неудачного перевода на русский язык. Английское слово assembly, действительно можно перевести как сборка. Однако, в абзац про устройство пространства имен .Net Framework русское слово сборка вносит некоторую двусмысленность из-за своего дополнительного смысла, которого нет в английском слове assembly.

Ну, вы сильно не пугайтесь. Далее вы ещё встретите, например, такое слово как Поток, которым переводятся сразу два разных английских слова Stream и Thread, которые конечно обозначают совершенно два разных понятия.

READ ALSO
Удалённое взаимодействие с пк с#

Удалённое взаимодействие с пк с#

Я хочу сделать такесть две программы(на разных пк), у одной есть кнопка при нажатие на которую отправлялся event(пакет) другому пользователю,...

110
Может ли SQLite делать бэкап на сервер SQL Server?

Может ли SQLite делать бэкап на сервер SQL Server?

Вопрос, пожалуй, нубский однако ответа на просторах интернета я к сожалению не нашелЯ разрабатываю десктопное приложение на C#, которое автоматизирует...

122
Как правильно очистить textBox

Как правильно очистить textBox

Всем привет, в процессе изучения C#, возник вопрос, по поводу очистки textBox с WinFormsНа просторах встречаются, разные способы:

185
PHP реадктирование строки таблицы

PHP реадктирование строки таблицы

Суть задачи: для каждой записи (строки) таблицы необходимо добавить кнопку SUBMIT () "Редактировать запись", которая методом POST открывает новую...

143