dotnet/runtime

Support resolving metadata tokens in MetadataLoadContext

Open

#87,657 opened on Jun 15, 2023

View on GitHub
 (9 comments) (10 reactions) (0 assignees)C# (5,445 forks)batch import
area-System.Reflectionfeature-requesthelp wanted

Repository metrics

Stars
 (17,886 stars)
PR merge metrics
 (Avg merge 12d 11h) (661 merged PRs in 30d)

Description

When using MetadataLoadContext, Module.{ResolveType,ResolveMember,ResolveMethod,ResolveField,ResolveSignature,ResolveString} all throw NotSupportedException.

This is inconvenient for advanced reflection scenarios. For example, if you are scanning IL code (perhaps retrieved using MethodBody.GetILAsByteArray), these methods are the only way to resolve MemberRefs and TypeRefs used in IL.

I do not think there is a technical reason that prevents these methods from working. If everything looks OK with this idea then I am happy to implement these.

Contributor guide