Что такое сборки .NET?

Что такое сборки .NET? Я просмотрел сеть, и я не могу понять это определение.

Ответ 1

В более простых терминах: фрагмент (предварительно скомпилированный) код, который может быть запущен средой выполнения .NET. Программа .NET состоит из одной или нескольких сборок.

Ответ 2

Сборка - это наименьшая единица развертывания приложения .net. Это может быть dll или exe.
Для этого существуют два типа:

  • Частная ассамблея: Dll или exe, который является единственным свойством только одного приложения. Обычно он хранится в корневой папке приложения

  • Публичная/общая сборка: Это dll, который может использоваться несколькими приложениями одновременно. Совместная сборка хранится в GAC, то есть Глобальный кэш сборок.

Звучит сложно? Naa....
GAC - это просто папка C:\Windows\Assembly, где вы можете найти общедоступные сборки /DLL всех программных продуктов, установленных на вашем ПК.

Существует также третий и наименее известный тип сборки: Спутниковая сборка > .
Спутниковая сборка содержит только статические объекты, такие как изображения и другие неисполняемые файлы, необходимые для приложения.

Надеюсь, это поможет читателям!

Ответ 3

Сборка

При компиляции приложения созданный код MSIL сохраняется в сборке. Ассембли оба исполняемых файла приложения, которые можно запускать непосредственно из Windows без необходимости в каких-либо других программы (они имеют расширение .exe) и библиотеки (которые имеют расширение .dll) для использования другими приложения.

В дополнение к содержанию MSIL, сборки также включают метаинформацию (то есть информацию о информация, содержащаяся в сборке, также известная как метаданные) и необязательные ресурсы (дополнительные данные используемые MSIL, такие как звуковые файлы и изображения). Мета-информация позволяет сборкам полностью самоописательный. Вам не нужна никакая другая информация для использования сборки, что означает, что вы избегаете ситуаций, подобных поскольку не удалось добавить необходимые данные в системный реестр и т.д., что часто было проблемой, когда с другими платформами.

Это означает, что развертывание приложений часто так же просто, как копирование файлов в каталог на удаленный компьютер. Поскольку в целевых системах не требуется дополнительной информации, вы можете просто запустить исполняемый файл из этого каталога и (при условии, что .NET CLR установлен), вам хорошо идти.

Конечно, вы обязательно захотите включить все, что необходимо для запуска приложения в одном месте. Вы можете написать код, который выполняет задачи, требуемые несколькими приложениями. В таких ситуациях, часто бывает полезно разместить код многократного использования в месте, доступном для всех приложений. В .NET. Framework, это глобальный кэш сборок (GAC). Размещение кода в GAC простое - вы просто размещаете сборка, содержащая код в каталоге, содержащем этот кеш.

Ответ 4

Сборка - это настоящий DLL файл на вашем жестком диске, где хранятся классы в .NET Framework. Например, все классы, содержащиеся в ASP.NET Framework, расположены в сборке с именем System.Web.dll.

Более точно, сборка является основным элементом развертывания, безопасности и контроля версий в .NET Framework. Поскольку сборка может охватывать несколько файлов, сборку часто называют "логической" dll.

Примечание

.NET Framework (версия 2.0) содержит 51 сборку.

Существует два типа сборок: частный и общий. Личная сборка может использоваться только одним приложением. С другой стороны, общая сборка может использоваться всеми приложениями, расположенными на одном сервере.

Общие сборки расположены в глобальном кэше сборок (GAC). Например, сборка System.Web.dll и все другие сборки, входящие в состав .NET Framework, находятся в глобальном кэше сборок.

Примечание

Глобальный кэш сборок находится физически в вашей папке \WINDOWS\Assembly компьютера. Существует отдельная копия каждой сборки в папке \WINDOWS\Microsoft.NET\Framework\v2.0.50727. Первый набор сборок используется во время выполнения, а второй набор используется во время компиляции.

Прежде чем вы сможете использовать класс, содержащийся в сборке в приложении, вы должны добавить ссылку на сборку. По умолчанию приложение ASP.NET ссылается на наиболее распространенные сборки, содержащиеся в глобальном кэше сборок:

mscorlib.dll

System.dll

System.Configuration.dll

System.Web.dll

System.Data.dll

System.Web.Services.dll

system.Xml.dll

System.Drawing.dll

System.EnterpriseServices.dll

System.Web.Mobile.dll

Чтобы использовать какой-либо конкретный класс в .NET Framework, вы должны сделать две вещи. Во-первых, ваше приложение должно ссылаться на сборку, содержащую класс. Во-вторых, ваше приложение должно импортировать пространство имен, связанное с классом.

В большинстве случаев вы не будете беспокоиться о том, чтобы ссылаться на необходимую сборку, потому что самые общие сборки ссылаются автоматически. Однако, если вам нужно использовать специализированную сборку, вам нужно добавить ссылку на сборку. Например, если вам необходимо взаимодействовать с Active Directory с помощью классов в пространстве имен System.DirectoryServices, вам необходимо добавить ссылку на сборку System.DirectoryServices.dll в ваше приложение.

Каждая запись класса в документации .NET SDK содержит список сборки и пространства имен, связанных с классом. Например, если вы посмотрите класс MessageQueue в документации, вы обнаружите, что этот класс находится в пространстве имен System.Messaging, расположенном в сборке System.Messaging.dll.

Если вы используете Visual Web Developer, вы можете добавить ссылку на сборку явным образом, выбрав пункт меню "Веб-сайт", "Добавить ссылку" и выбрав имя сборки, которое вам нужно указать. Например, добавление ссылки на сборку System.Messaging.dll приводит к добавлению в ваш файл веб-конфигурации в листинге 1.4.

Eg. Web.Config

enter code here

Если вы предпочитаете не использовать Visual Web Developer, вы можете добавить ссылку на сборку System.Messaging.dll, создав файл в приведенном выше примере вручную

Ответ 5

Википедия должна сказать:

В среде Microsoft.NET, сборка - это частично скомпилированный код библиотека для использования в развертывании, версии и безопасности. Есть два типы: сборочные сборки (EXE) и библиотечные сборки (DLL). Процесс сборка представляет собой процесс, который будут использовать классы, определенные в библиотеке сборок. Сборки .NET содержат кода в CIL, который обычно созданные на языке CLI, и затем скомпилирован в машинный язык в время выполнения CLR точно в срок компилятор. Сборка может состоять из один или несколько файлов. Файлы кода называемых модулями. Сборка может содержат более одного модуля кода и так как можно использовать разные языков для создания модулей кода технически можно использовать несколько на разных языках для создания сборка. Visual Studio, однако, не поддерживает использование разных языков в одной сборке.

Если вы действительно просмотрели, это поможет, если вы уточните, что вы не понимаете.

Ответ 6

Смотрите this:

В среде Microsoft.NET сборка представляет собой частично скомпилированную библиотеку кода для использования при развертывании, управлении версиями и безопасности

Ответ 7

физическая коллекция класса, интерфейса, перечисления и т.д., которая находится в коде IL. Каким может быть файл .EXE или .DLL.EXE - это исполняемый файл, а .DLL может динамически использоваться на любом поддерживаемом языке .net.

Ответ 8

Сборка - это среда выполнения, состоящая из типов и других ресурсов. Все типы в сборке имеют одинаковый номер версии.

Часто одна сборка имеет только одно пространство имен и используется одной программой. Но он может охватывать несколько пространств имен. Кроме того, одно пространство имен может распространяться на несколько сборок. В больших конструкциях сборка может состоять из нескольких файлов, которые удерживаются вместе манифестом (то есть оглавлением).

В С# сборка представляет собой наименьшее развертывание приложения .Net. Это может быть dll или exe.It имеет два типа: 1. Частная сборка 2. Public/Shared Assembly

Ответ 9

MSDN имеет хорошее объяснение:

Ассембли являются строительными блоками приложений .NET Framework; Oни образуют основную единицу развертывание, контроль версий, повторное использование, область действия и безопасность разрешения. Сборка - это сбор типов и ресурсов, которые создаются для совместной работы и формирования логический блок функциональности. сборка обеспечивает общий язык время работы с необходимой ему информацией чтобы знать о реализациях типов. Для среды выполнения тип не существует вне контекста сборки.

Ответ 10

В .Net сборка может быть:

Коллекция различных управляемых частей, содержащих Types (or Classes), Resources (Bitmaps/Images/Strings/Files), Namespaces, Config Files скомпилировано Privately или Publicly; развернут на local или Shared (GAC); discover-able другими programs/assemblies и; может быть версией.

Ответ 11

В дополнение к принятому ответу я хочу дать вам пример !

Например, мы все используем

System.Console.WriteLine()

Но где код для System.Console.WriteLine!?
который является кодом, который фактически помещает текст в консоль?

Если вы посмотрите на первую страницу документации для класса консоли, вы увидите примерно следующее: Assembly: mscorlib (в mscorlib.dll) Это означает, что код для класса Console находится в сборке с именем mscorlib. Сборка может состоять из нескольких файлов, но в этом случае это только один файл, который является динамической библиотекой ссылок mscorlib.dll.

Файл mscorlib.dll очень важен в .NET. Это основная библиотека DLL для библиотек классов .NET и содержит все основные классы и структуры .NET.

если вы знаете C или С++, обычно вам нужна директива #include вверху, которая ссылается на заголовочный файл. Включенный файл предоставляет прототипы функций компилятору. на контрасте Компилятор С# не нуждается в файлах заголовков. Во время компиляции компилятор С# напрямую обращается к файлу mscorlib.dll и получает информацию из метаданных в этом файле относительно всех классов и других типов, определенных в нем.

Компилятор С# может установить, что mscorlib.dll действительно содержит класс с именем Console в пространстве имен с именем System с методом с именем WriteLine, который принимает один аргумент строки типа.

Компилятор С# может определить, что вызов WriteLine действителен, и компилятор устанавливает ссылку на сборку mscorlib в исполняемом файле.

по умолчанию Компилятор С# будет обращаться к mscorlib.dll, но для других DLL вам нужно сообщить компилятору, в котором расположены классы. Они известны как ссылки.

Я надеюсь, что теперь это ясно!

От DotNetBookZero Чарльз Пицольд

Ответ 12

Поскольку сборка - это наименьшая единица обеспечения безопасности версий, развертывания и повторного использования кода в Microsoft.Net.

Он содержит:

- Assembly Identity
- Manifest
- Metadata
- MSIL Code
- Security Information
- Assembly Header

Ответ 13

Сборка - это фундаментальная часть программирования с .NET Framework. Он содержит код, который CLR выполняет код MSIL (Microsoft Intermediate Language) в переносимом исполняемом файле, не будет выполнен, если он не имеет связанного манифеста сборки.

Ответ 14

Приложения .NET создаются путем объединения любого количества сборок. Проще говоря, сборка представляет собой не что иное, как версию, самоописывающуюся двоичную (DLL или EXE), содержащую некоторую коллекцию типов (классы, интерфейсы, структуры и т.д.) И дополнительные ресурсы (изображения, строковые таблицы и многое другое). Одна вещь, о которой сейчас очень трудно понять, заключается в том, что внутренняя организация сборки .NET не похожа на внутреннюю организацию классического COM-сервера (независимо от общих расширений файлов).

Ответ 15

В .NET при компиляции исходного кода сборка создается в Visual Studio. Ассамблея состоит из двух частей Manifest и IL (промежуточный язык). Манифест содержит метаданные сборки, необходимые для сборки, требования к безопасности, имена и хэши всех файлов, составляющих сборку. IL содержит информацию о классах, конструкторах, основном методе и т.д.

Ответ 17

Решения Visual Studio состоят из одного или нескольких проектов. Например: Консольные проекты могут создавать сборку. Сборник логически фрагментирует код, который может быть отправлен клиентам, а физически - EXE (исполняемая программа) или .DLL(могут быть повторно использованы другими программами).