Pal*_*ani 3 .net reflection assemblies
我有以下要求,
我不想将它保留在保存可执行文件(.exe)的目录中.
如何将'System.Data.Sqlite.dll'文件保存在其他目录中,并在运行时安全地加载它,然后才能在应用程序代码中引用它?
您可以使用手动装配分辨率来执行此操作.
您需要为当前AppDomain中的AssemblyResolve事件提供委托
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += assemblyResolver.ResolveEventHandler;
Run Code Online (Sandbox Code Playgroud)
当应用程序有任何无法解析的程序集引用时,它将调用此委托来解决程序集.然后,您只需返回委托中请求的程序集:
Assembly assembly = Assembly.LoadFrom (assemblyPath);
return assembly;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助