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 создает исключение.