private RoAssembly TryFindAssemblyByCallingResolveHandler(RoAssemblyName refName) { Debug.Assert(refName != null); Assembly?assembly = resolver?.Resolve(this, refName.ToAssemblyName()); if (assembly == null) { return(new RoExceptionAssembly(new FileNotFoundException(SR.Format(SR.FileNotFoundAssembly, refName.FullName)))); } if (!(assembly is RoAssembly roAssembly && roAssembly.Loader == this)) { throw new FileLoadException(SR.ExternalAssemblyReturnedByMetadataAssemblyResolver); } return(roAssembly); }
private RoAssembly TryFindAssemblyByRaisingResolveEvent(RoAssemblyName refName) { Debug.Assert(refName != null); Assembly assembly = Resolving?.Invoke(this, refName.ToAssemblyName()); if (assembly == null) { return(new RoExceptionAssembly(new FileNotFoundException(SR.Format(SR.FileNotFoundAssembly, refName.FullName)))); } if (!(assembly is RoAssembly roAssembly && roAssembly.Loader == this)) { throw new FileLoadException(SR.ExternalAssemblyReturnedByResolveHandler); } return(roAssembly); }