public static ReflectionAssemblyLoader TryGet() { if (isInitialized) { return(instance); } instance = TryInitialize(); isInitialized = true; return(instance); }
/// <summary> /// Loads an assembly given a string, which is the AssemblyName /// </summary> public static Assembly Load(string name) { var ext = Path.GetExtension(name); if (ext.Equals(".dll", StringComparison.OrdinalIgnoreCase) || ext.Equals(".exe", StringComparison.OrdinalIgnoreCase)) { var fromLoader = ReflectionAssemblyLoader.TryGet()?.LoadFromAssemblyPath(Path.GetFullPath(name)); if (fromLoader != null) { return(fromLoader); } name = Path.GetFileNameWithoutExtension(name); } return(Assembly.Load(new AssemblyName { Name = name })); }