Подтвердить что ты не робот

Что такое сборка в С# или .NET?

Не могли бы вы объяснить, что такое сборка на С# или .NET?

  • Где это начинается и где это заканчивается?
  • Какую важную информацию я должен знать о сборках?
4b9b3361

Ответ 1

Сборка - это скомпилированный вывод вашего кода, обычно это DLL, но ваш EXE также является сборкой. Это самая маленькая единица развертывания для любого проекта .NET.

Сборка обычно содержит код .NET в MSIL (Microsoft Intermediate language), который будет скомпилирован в собственный код ( "JITted" - скомпилирован компилятором Just-In-Time) при первом запуске на данной машине. Этот скомпилированный код также будет сохранен в сборке и повторно использован при последующих вызовах.

Сборка также может содержать ресурсы, такие как значки, растровые изображения, строковые таблицы и т.д. Кроме того, сборка также содержит метаданные в манифесте сборки - информацию, такую ​​как номер версии, сильное имя, культура, ссылочные сборки и т.д.

В 99% ваших случаев одна сборка равна физическому файлу на диске - случай сборки нескольких файлов (одна сборка, распределенная по более чем одному файлу) представляется довольно случайным краем, который Я никогда не сталкивался с этим в течение 5 лет разработки .NET.

В многосетевой сборке все еще будет только один манифест сборки в DLL или EXE и код MSIL в нескольких файлах сетевого модуля.

Ответ 2

. NET-сборка

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

Ответ 3

http://www.codeguru.com/columns/csharp_learning/article.php/c5845

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

Ответ 4

Вот еще одно объяснение создания .NET Assemblies, мини-кавычки:

Структура .NET состоит из концепции модулей, сборок, которые оба хранят метаданные и манифест Информация. Сборка может содержать несколько модулей. Visual С# только когда-либо создает один модуль, который поворачивается в сборку с помощью компилятора С# (csc.exe), но сборка может связывать многие модули .NET вместе сборщик линеек (al.exe) инструмент. Например, каждый из ваших источников файлы .cscs могут быть скомпилированы в модуль и связанный вместе для формирования сборка - сборка - это просто сбор модулей и ресурсов. Однако один из этих модулей должен содержат метаданные манифеста (см. ниже) информация для сборки понимаемых CLR.
....
Создав новый .exe или .dll внутри VS.NET вы видите ваш файл внутри вашей папки bin. Открыв его блокнот выдаст тарабарщину или даже внутри шестнадцатеричного редактора не зная структуры файла, вам нужен инструмент, например ildasm.exe или CFF, чтобы сделать смысл из Это. Структура сборки выглядит следующим образом:

Заголовок PE
Заголовок CLR
Метаданные CLR
CLR
IL-код
Собственные данные

Ответ 5

Когда исходный код компилируется компилятором языка, он генерирует Managed Assembly и MSIL (промежуточный язык MisroSoft). Эта сборка содержит файл .dll или .exe. Assebmly может быть двух типов Частная ассамблея и Совместная сборка, общая сборка хранится в GAC (глобальном кэше сборки), чтобы любое приложение могло обратитесь к нему, а частная сборка хранится в папке приложения, которая может использоваться только одним Приложением.

Ответ 6

Сборка - это DLL или EXE, которые будут созданы при публикации или компиляции вашего приложения.