MetadataLoadContext.CoreAssembly Eigenschaft

Definition

Dient zum Abrufen oder Festlegen der Assembly, die die "Systemassembly" angibt, die die bekannten Typen enthält, z Int32. B. .

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

Eigenschaftswert

Eine Assembly Instanz.

Hinweise

Die Kernassembly wird anders behandelt als andere Assemblys, da Verweise auf diese bekannten Typen nicht den Assemblyverweis enthalten, im Gegensatz zu normalen Typen.

In der Regel heißt diese Assembly "System.Runtime", "mscorlib" oder "netstandard".

Dies CoreAssembly wird bestimmt, indem der coreAssemblyName Parameter an den MetadataLoadContext Konstruktor übergeben wird, der ihn wiederum an die MetadataAssemblyResolver.Resolve Methode übergibt.

Wenn im Konstruktor kein coreAssemblyNameMetadataLoadContextArgument angegeben wurde, werden Standardwerte verwendet, einschließlich "mscorlib", "System.Runtime" und "netstandard".

Die festgelegte Kernassembly muss die Kerntypen nicht direkt enthalten. Sie können sie an andere Assemblys weiterleiten. So ist es vollkommen zulässig, die Mscorlib-Fassade als designierte Kernassembly zu verwenden.

Beachten Sie, dass System.Runtime es sich nicht um eine ideale Kernassembly handelt, da einige der interopbezogenen pseudo-benutzerdefinierten Attributtypen ausgeschlossen werden, z DllImportAttribute. B. . Es kann jedoch dienen, wenn Sie kein Interesse an diesen Attributen haben. Die CustomAttributes-API überspringt diese Attribute, wenn die Hauptassembly nicht die erforderlichen Typen enthält.

Wenn eine Kernassembly nicht gefunden werden kann, löst der Konstruktor MetadataLoadContext eine Ausnahme aus.

Gilt für: