Compartilhar via


MetadataLoadContext.CoreAssembly Propriedade

Definição

Obtém ou define o assembly que indica o "assembly do sistema" que abriga os tipos conhecidos, como 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

Valor da propriedade

Uma Assembly instância.

Comentários

O assembly principal é tratado de forma diferente de outros assemblies porque as referências a esses tipos conhecidos não incluem a referência de assembly, ao contrário dos tipos normais.

Normalmente, esse assembly é chamado de "System.Runtime", "mscorlib" ou "netstandard".

O CoreAssembly valor é determinado passando o coreAssemblyName parâmetro para o MetadataLoadContext construtor, que, por sua vez, o passa para o MetadataAssemblyResolver.Resolve método.

Se nenhum coreAssemblyName argumento tiver sido especificado no construtor de MetadataLoadContext, os valores padrão serão usados, incluindo "mscorlib", "System.Runtime" e "netstandard".

O assembly de núcleo designado não precisa conter os tipos principais diretamente. Ele pode digitá-los para outros assemblies. Portanto, é perfeitamente permitido usar a fachada mscorlib como o assembly de núcleo designado.

Observe que não System.Runtime é um assembly de núcleo ideal porque exclui alguns dos tipos de atributo pseudo-personalizados relacionados à interoperabilidade, como DllImportAttribute. No entanto, ele poderá servir se você não tiver interesse nesses atributos. A API CustomAttributes ignorará esses atributos se o assembly principal não incluir os tipos necessários.

Se um assembly principal não puder ser encontrado, o construtor gerará MetadataLoadContext uma exceção.

Aplica-se a