MetadataLoadContext.CoreAssembly Egenskap

Definition

Hämtar eller anger sammansättningen som anger den "systemsammansättning" som innehåller de välkända typerna, till exempel 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

Egenskapsvärde

En Assembly instans.

Kommentarer

Kärnsammansättningen behandlas annorlunda än andra sammansättningar eftersom referenser till dessa välkända typer inte innehåller sammansättningsreferensen, till skillnad från normala typer.

Den här sammansättningen heter vanligtvis "System.Runtime", "mscorlib" eller "netstandard".

CoreAssembly Bestäms genom att parametern coreAssemblyNameMetadataLoadContext skickas till konstruktorn, som i sin tur skickar den till MetadataAssemblyResolver.Resolve metoden.

Om inget coreAssemblyName argument angavs i konstruktorn för MetadataLoadContextanvänds standardvärdena, inklusive "mscorlib", "System.Runtime" och "netstandard".

Den avsedda kärnsammansättningen behöver inte innehålla kärntyperna direkt. Den kan skriva vidare dem till andra sammansättningar. Därför är det fullt tillåtet att använda fasaden mscorlib som den avsedda kärnsammansättningen.

Observera att det System.Runtime inte är en idealisk kärnsammansättning eftersom den exkluderar några av de interop-relaterade pseudoanpassade attributtyperna, till exempel DllImportAttribute. Det kan dock fungera om du inte har något intresse av dessa attribut. CustomAttributes-API:et hoppar över dessa attribut om kärnsammansättningen inte innehåller de nödvändiga typerna.

Om det inte går att hitta en kärnsammansättning utlöser konstruktorn MetadataLoadContext ett undantag.

Gäller för