private static (AssemblyInformation assembly, Assembly?msAssembly) CreateManagedAssemblyInformation(MetadataLoadContext context, AssemblyName assemblyName, string baseDirectory, string extension = "dll") { var assemblyPath = FilePathProvider.GetAssemblyPath($"{assemblyName.Name}.{extension}", baseDirectory); Assembly?assembly = null; try { assembly = File.Exists(assemblyPath) ? context.LoadFromAssemblyPath(assemblyPath ?? string.Empty) : context.LoadFromAssemblyName(assemblyName); } catch { // In this case, assembly is not found } var assemblyShortName = assemblyName.Name ?? string.Empty; var assemblyVersion = assemblyName.Version?.ToString() ?? string.Empty; var info = new AssemblyInformation(assemblyShortName, assembly?.GetName().Version?.ToString() ?? assemblyVersion, assemblyPath) { IsLocalAssembly = assemblyPath != null || assembly == null, AssemblyName = assemblyName.FullName, IsResolved = assembly != null }; info.EnhancePropertiesWithFile(); info.EnhanceProperties(assembly?.GetModules().First()); return(info, assembly); }