using System.IO; using System.Reflection; AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { var splitters = args.Name?.Split(','); if (splitters != null && splitters.Length > 0) { var firstItem = splitters[0] + ".dll"; var matchDll = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, firstItem); if (File.Exists(matchDll)) { Console.WriteLine($"{args.Name}反射失败,尝试重定向"); return Assembly.LoadFrom(matchDll); } } return null; }