Поделиться через


MetadataLoadContext.CoreAssembly Свойство

Определение

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

public:
 property System::Reflection::Assembly ^ CoreAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly CoreAssembly { get; }
member this.CoreAssembly : System.Reflection.Assembly
Public ReadOnly Property CoreAssembly As Assembly

Значение свойства

Экземпляр Assembly .

Комментарии

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

Как правило, эта сборка называется System.Runtime, mscorlib или netstandard.

Определяется CoreAssembly путем передачи coreAssemblyName параметра MetadataLoadContext конструктору, который, в свою очередь, передает его методу MetadataAssemblyResolver.Resolve .

Если аргумент не coreAssemblyName указан в конструкторе MetadataLoadContext, используются значения по умолчанию, включая mscorlib, System.Runtime и netstandard.

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

Обратите внимание, что не является идеальной основной сборкой, System.Runtime так как она исключает некоторые типы атрибутов, связанные с взаимодействием, например DllImportAttribute. Однако он может служить, если у вас нет интереса к этим атрибутам. API CustomAttributes пропустит эти атрибуты, если базовая сборка не включает необходимые типы.

Если не удается найти основную сборку, конструктор MetadataLoadContext создает исключение.

Применяется к