Не могли бы вы объяснить, что такое сборка на C # или .NET?
- Где это начинается и где заканчивается?
- Какую важную информацию я должен знать о сборках?
Не могли бы вы объяснить, что такое сборка на C # или .NET?
Ответы:
Сборка - это скомпилированный вывод вашего кода, обычно это DLL, но ваш EXE также является сборкой. Это самая маленькая единица развертывания для любого проекта .NET.
Сборка обычно содержит код .NET на MSIL (промежуточный язык Microsoft), который будет скомпилирован в собственный код («JITted» - скомпилированный компилятором Just-In-Time) при первом запуске на данной машине. Этот скомпилированный код также будет сохранен в сборке и повторно использован при последующих вызовах.
Сборка также может содержать такие ресурсы, как значки, растровые изображения, таблицы строк и т. Д. Кроме того, сборка также содержит метаданные в манифесте сборки - такую информацию, как номер версии, строгое имя, региональные параметры, сборки, на которые имеются ссылки, и т. Д.
В 99% ваших случаев одна сборка равна физическому файлу на диске - случай многофайловой сборки (одна сборка, распределенная по более чем одному файлу) кажется довольно странным случаем края, который я никогда не встречал до сих пор за мои 5+ лет разработки .NET.
В многофайловой сборке по-прежнему будет только один манифест сборки в DLL или EXE и код MSIL в нескольких файлах netmodule.
В платформе Microsoft .NET сборка представляет собой частично скомпилированную библиотеку кода для использования при развертывании, управлении версиями и безопасности.
http://www.codeguru.com/columns/csharp_learning/article.php/c5845
Сборка - это файл, который автоматически создается компилятором после успешной компиляции каждого приложения .NET. Это может быть либо библиотека динамической компоновки, либо исполняемый файл. Он генерируется только один раз для приложения, и при каждой последующей компиляции сборка обновляется.
Вот еще одно объяснение структуры сборок .NET, небольшая цитата:
Платформа .NET состоит из концепций модулей и сборок, в которых хранятся как метаданные, так и информация о манифестах. Сборка может содержать несколько модулей. Visual C # всегда создает только один модуль, который превращается в сборку компилятором C # (csc.exe), но сборка может связывать вместе множество модулей .NET с помощью инструмента командной строки компоновщика сборок (al.exe). Например, каждый из файлов .cs исходного кода можно скомпилировать в модуль и связать вместе, чтобы сформировать сборку - сборка - это просто набор модулей и ресурсов. Однако один из этих модулей; должен содержать манифестные метаданные (см. ниже), чтобы сборка была понятна CLR.
....
Создав новый .exe или .dll внутри VS.NET, вы увидите, что ваш файл появится в папке bin. Открытие его в блокноте выдаст тарабарщину, или даже в шестнадцатеричном редакторе, не зная структуры файла, вам понадобится такой инструмент, как ildasm.exe или CFF explorer, чтобы понять его смысл. Структура сборки следующая:Заголовок PE Заголовок
среды
CLR Метаданные
среды CLR
Код IL
Собственные данные
Ответ для немедленного схватывания.
Проще говоря, это скомпилированный проект, включающий ваши классы и дополнительные файлы, если они есть. То есть каждый проект в решении - это сборка .
Или, точнее говоря,
Сборки , где тип хранится в flesystem. Сборки - это механизм развертывания кода. Например,
System.Data.dll
сборка содержит типы для управления данными. Чтобы использовать типы в других сборках, на них необходимо ссылаться. - Источник
Откуда мы это знаем? Если вы посмотрите на свойства проекта под решением, вы увидите следующие изображения.
При компиляции проекта получается DLL или EXE .
Когда исходный код компилируется компилятором языка, он создает управляемую сборку и MSIL (промежуточный язык MisroSoft). Эта сборка содержит файл .dll или .exe . Assebmly может быть двух типов: частная сборка и общая сборка , общая сборка хранится в GAC (глобальном кэше сборок), так что любое приложение может ссылаться на нее, в то время как частная сборка хранится в папке приложения, которая может использоваться только одним приложением.
Сборка - это библиотека DLL или EXE, которая будет создана при ее публикации или компиляции приложения.
Сборка - это набор логических единиц. Логические единицы относятся к типам и ресурсам, которые требуются для создания приложения и их развертывания с использованием инфраструктуры .Net. По сути, Assembly - это набор Exe и DLL. Он переносимый и исполняемый.
После написания исходного кода вашей программы (проекта) создается файл, который может быть DLL или EXE, в зависимости от вашего проекта. Делается только один раз для одного проекта. Он имеет два типа 1: - одиночный 2: - разделяемый или многопрограммный одиночный сборщик, используемый только в одной программе, в то время как общий может использоваться для многопрограмм