Net assembly что это
Перейти к содержимому

Net assembly что это

  • автор:

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

Что такое сборка в .net? Вот, например, я так понимаю, .exe или .dll файлы- это сборки. Подключать пространства имен можно только из тех сборок, которые были подключены, верно? Тогда почему Рихтер пишет, что в mscorlib.dll содержатся все базовые типы FCL, то есть string object int и т.д, то есть по сути содержится BCL, но при этом я все равно могу подключать пространство имен System.Text.RegularExpressions. Или Рихтер имел ввиду, что в той сборке содержатся все типы FCL?

Отслеживать
20.1k 6 6 золотых знаков 37 37 серебряных знаков 81 81 бронзовый знак
задан 24 ноя 2018 в 9:29
Марк Павлович Марк Павлович
373 3 3 серебряных знака 13 13 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Что такое сборка в .net? Вот, например, я так понимаю, .exe или .dll файлы- это сборки

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

Подключать пространства имен можно только из тех сборок, которые были подключены, верно?

Тогда почему Рихтер пишет, что в mscorlib.dll содержатся все базовые типы FCL, то есть string object int и т.д, то есть по сути содержится BCL, но при этом я все равно могу подключать пространство имен System.Text.RegularExpressions

Не очень понятен вопрос. Вроде не врет Рихтер, а System.Text.RegularExpressions содержится в сборке System.dll.

Сборки .NET

Когда мы создаем приложение в результате компиляции в Visual Studio или в консоли, результатом этой работы является файл exe или dll (в зависимости от выбранных настроек), который называется сборкой приложения. Сборка является базовой структурной единицей в .NET, на уровне которой проходит контроль версий, развертывание и конфигурация приложения.

Сборки кристаллизуют всю библиотеку классов .NET — при написании кода и создании сборки своего приложения мы используем пространства имен, которые размещены в других сборках .NET.

Сборки имеют следующие составляющие:

  • Манифест, который содержит метаданные сборки
  • Метаданные типов. Используя эти метаданные, сборка определяет местоположение типов в файле приложения, а также места размещения их в памяти
  • Собственно код приложения на языке MSIL, в который компилируется код C#
  • Ресурсы

Все эти компоненты могут находиться в одном файле, и тогда сборка представляет один единственный файл в формате exe или dll.

Компоненты сборки в .NET

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

Манифест сборки

Ключевым компонентом сборки является ее манифест . Если у сборки отсутствует манифест, то заключенный в ней код MSIL выполняться не будет. Манифест может находиться в одном файле с исполняемым кодом сборки, а может размещаться и в отдельном файле.

Манифест хранит следующие данные:

  • Имя сборки
  • Номер версии : основной и дополнительный номера. Используется для управления версиями
  • Язык и региональные параметры : информация о языке и региональных параметрах, которые поддерживает сборка
  • Информация о строгом имени : открытый ключ издателя
  • Список всех файлов сборки : хэш и имя каждого из входящих в сборку файлов
  • Список ссылок на другие сборки , которые использует текущая сборка
  • Список ссылок на типы , используемые сборкой

Таким образом, манифест позволяет системе определить все файлы, входящие в сборку, сопоставить ссылки на типы, ресурсы, сборки с их файлами, управлять контролем версий.

Атрибуты сборки

По умолчанию Visual Studio при создании проекта добавляет файл AssemblyInfo.cs, который можно найти в узле Properties:

Файл AssemblyInfo в C#

Это обычный файл на языке C# и в моем случае выглядит так:

using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DynamicProject")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DynamicProject")] [assembly: AssemblyCopyright("Copyright © 2014")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("8794dabf-2f91-423d-87c4-6317e2913be7")] // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]

Смысл этого файла состоит в том, что он задает настройки манифесту сборки. Через атрибуты типа [assembly: AssemblyVersion(«1.0.0.0»)] можно установить значения в манифесте. Префикс assembly: перед атрибутом указывает на то, что это атрибут уровня сборки, в данном случае атрибут номера версии сборки.

В принципе, исходя из названия, я думаю, предназначение многих атрибутов итак понятно:

  • AssemblyCompany : название компании
  • AssemblyConfiguration : конфигурация сборки (Retail или Debug)
  • AssemblyCopyright : авторское право на программу
  • AssemblyDefaultAlias : псевдоним по умолчанию, используемый при ссылке на данную сборку из других сборок
  • AssemblyDescription : краткое описание сборки
  • AssemblyProduct : информация о продукте
  • AssemblyTitle : название сборки как информационного продукта
  • AssemblyTrademark : сведения о торговой марке
  • AssemblyCulture : задает язык и региональные параметры, поддерживаемые сборкой (например, установка русской культуры: [assembly:AssemblyCultureAttribute(«ru»)] )
  • AssemblyInformationalVersion : полная версия сборки
  • AssemblyVersion : версия сборки
  • AssemblyFileVersion : номер версии файла Win32. По умолчанию совпадает с версией сборки.

Также есть графический способ определения информации о сборке. Для этого нажмем в окне Solution Explorer (Обозреватель решений) на название проекта правой кнопкой мыши и выберем в появившемся меню пункт Properties (Свойства). В открывшемся окне нажмем на кнопку Assembly Information. , и нам предстанет окно изменения атрибутов:

Графическое изменение информации о сборке в C#

После любых изменений, произведенных в этом окне, соответствующей информацией будет автоматически обновлен и файл AssemblyInfo.cs.

Перевод «code assembly» на русский

Based on the operation of the game state analyzer 614, the game breakpoint processor 616, and the game set up state processor 618, a code assembly manager 620 assembles various code portions to define the game slice code 622.

На основе работы анализатора состояния игры 614, процессора точек прерывания игры 616 и процессора установки состояния игры 618 программа сборки кода 620 собирает различные части кода для определения кода вырезки из игры 622.

The product is developed for Windows, Mac OS X and Linux, but it is possible to install the environment on any Unix-like system using source code assembly.

Продукт разрабатывается под Windows, Mac OS X и Linux, однако есть возможность установить среду на любую Unix-подобную систему при помощи сборки исходников.

So it says here that you’re proficient in C++, code assembly for multiple processor architectures, and that you are a cyborg?

Здесь сказано, что вы владеете Си-плюс-плюс, сборкой кода для процессоров с различной архитектурой и что вы. киборг?

Предложить пример

Другие результаты

FxCop is a free static code analysis tool from Microsoft that checks.NET managed code assemblies for conformance to Microsoft’s.NET Framework Design Guidelines.

FxCop — бесплатный инструмент для статического анализа кода от Microsoft, проверяющий сборки.NET на соответствие рекомендациям по проектированию библиотек.NET Framework.

A free static code analysis tool from Microsoft that checks.NET managed code assemblies for conformance to Microsoft’s.NET Framework Design Guidelines.

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

Like assembly code, C lets you access powerful low level machine functions, and it has a syntax that is easier to read than assembly code.

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

Independent building inspectors are on site to supervise the construction and ensure that the company adheres to all building codes during assembly.

Независимые инспекторы здания на месте контролируют строительство, чтобы убедиться, что компания придерживается всех строительных норм и правил во время сборки.

Machine code and assembly code are sometimes called native code when referring to platform-dependent parts of language features or libraries.

Машинный код иногда называют нативным кодом (также собственным или родным кодом — от англ. native code), когда говорят о платформенно-зависимых частях языка или библиотек.

Machine code and assembly code are sometimes called native code when referring to platform-dependent parts of language features or libraries.

Машинный и ассемблерный код иногда называют собственным (внутренним) кодом ЭВМ, когда ссылаются на платформо-зависимые части свойств или библиотек языка.[Источник 4]

Explain the differences between machine code, assembly language, p-code and higher-level languages.
Укажите различия между машинным языком, ассемблером и языком высокого уровня.

According to the article 87th of the Local Self-government Code municipality assembly and assembly committee meetings are public (except for the cases defined by the Georgian legislation).

Согласно статье 87, Кодекса о Местном самоуправлении, заседания Сакребуло муниципалитета и комиссий сакребуло являются публичными (кроме отдельных случаев предусмотренных законодательством Грузии).

According to programmer and co-creator Todd Replogle, John Carmack helped him program some low-level parts of the game code in assembly language.

По словам одного из создателей игры и программиста Тодда Риплогла (англ. Todd Replogle), в создании некоторых низкоуровневых частей кода игры на языке ассемблера ему помогал Джон Кармак.

Designers write low-level assembly code that exploits specific hardware features, and combine this assembly code with C code only where performance is not so critical.

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

One implication for software architecture is that hand-optimized assembly-code routines (assembly programs) are commonly packaged into libraries for re-use, instead of relying on advanced compiler technologies to handle essential algorithms.

Одним из следствий для архитектуры программного обеспечения является то, что оптимизированные вручную процедуры ассемблерного кода обычно упаковываются в библиотеки для повторного использования, вместо того чтобы полагаться на передовые технологии компилятора для обработки основных алгоритмов.

Что за папка assembly и можно ли ее удалить?

Assembly что это за папка

Некоторые пользователи в поисках свободного места на системном диске C обращают внимание на каталог Assembly, находящийся в папке Windows. Обычно его размер составляет от нескольких сот мегабайт, до нескольких гигабайт. Именно по этому возникает желание удалить папку Assembly и тем самым освободить место на диске C.

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

Что хранится в папке Assembly?

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

Assembly что это за папка

Содержимое папки Assembly

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

Также в ней могут находиться файлы, обеспечивающие подготовку обновлений операционной системы.

Можно ли удалить папку Assembly?

Конечно же делать этого не стоит. Так как последствиями может стать появление ошибок при запуске некоторых программ и игр.

Если же ситуация безвыходная и папка Assembly занимает непростительно много места, в этом случае лучше воспользоваться стандартными средствами очистки локального диска C через его свойства, предварительно создав контрольную точку восстановления.

что такое папка Assembly

Очистка диска C стандартными средствами

Лучшая благодарность автору — репост к себе на страничку:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *