ImplementationAssemblyResolver
Namespace: Dotsider.Core.Analysis
Assembly: Dotsider.Core.dll
Resolves reference assemblies (e.g., System.Runtime, mscorlib) to their implementation assemblies (e.g., System.Private.CoreLib) by probing for type forwarding.
public static class ImplementationAssemblyResolverInheritance
Section titled “Inheritance”Object → ImplementationAssemblyResolver
Methods
Section titled “Methods”Resolve(string, string, string?, string?, string?, string?, NetFxBindingContext?, AssemblyAnalyzer?)
Section titled “Resolve(string, string, string?, string?, string?, string?, NetFxBindingContext?, AssemblyAnalyzer?)”Resolves an assembly name to a path or bundle entry, falling back to the implementation assembly if the reference assembly has no IL.
Parameters:
referencingAssemblyPath(String): The path of the assembly that references the target.assemblyName(String): The assembly name to resolve.declaringType(String): Optional declaring type for type-aware resolution (needed for mscorlib).targetFramework(String): Target framework moniker for shared framework probing.preferredRuntimePack(String): Preferred runtime pack to probe first.sourceBundlePath(String): If the referencing assembly came from a bundle, the bundle path.netFxBindingContext(NetFxBindingContext): Per-root .NET Framework binding context, or null for non-net48 roots. When supplied alongside referencingAnalyzer, the resolver looks up the matching AssemblyRefInfo in the referencing analyzer’s metadata and routes the bind through NetFxBinder for CLR-accurate framework probing. .NET Core / .NET 5+ callers pass null here and behavior is unchanged.referencingAnalyzer(AssemblyAnalyzer): The analyzer for the assembly that references the target, when available. Used together with netFxBindingContext to recover the requested AssemblyRef’s full identity (version + culture + PKT) for the binder.
Returns: ResolvedAssembly
The resolved assembly, or null if not found.
public static ResolvedAssembly? Resolve(string referencingAssemblyPath, string assemblyName, string? declaringType = null, string? targetFramework = null, string? preferredRuntimePack = null, string? sourceBundlePath = null, NetFxBindingContext? netFxBindingContext = null, AssemblyAnalyzer? referencingAnalyzer = null)