我有一个.NET应用程序,除了标准GAC,当前目录,PATH区域之外,我希望搜索其他依赖DLL的路径。是否可以告诉应用程序执行此操作?
E.g。
告诉应用程序查看“[可执行路径] \从属DLL”。
答案 0 :(得分:6)
您可以使用.config文件中的<probing>
元素添加私有程序集搜索路径。
答案 1 :(得分:2)
在您的配置中设置探测的另一种方法(如果您需要更多灵活性) - 您可以添加自己的处理程序来搜索其他位置并自行加载。
启动应用的主要方法
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainAssemblyResolve;
使用您自己的方法添加处理程序以获取名称并搜索其他位置 -
private static Assembly CurrentDomainAssemblyResolve(object setnder, ResolveEventArgs args)
{
return LoadEmbeddedAssembly(args.Name);
}
我使用此方法将DLL作为资源嵌入,因此我可以分配一个可执行文件,但您也可以从目录中加载它们。