日期:2014-05-18  浏览次数:20849 次

反射调指定文件夹下的文件,如何限制文件加载的范围???
用反射调另一个文件夹下的DLL文件,那个DLL依赖的相关DLL都在同文件夹下,但我程序本身根目录下也有几个同名文件,反射时就不会走指定的文件夹,而是直接加载了我本地根目录下的文件,请问,有没有办法限制我反射加载时必须加载指定的文件夹下的,即便我程序根目录下有,我也不加载?


------解决方案--------------------
反射的时候指定dll路径即可。
------解决方案--------------------
你反射读的文件夹 debug下 应该是本地根目录下的文件 我的反射是可以用读反射的文件夹下的文件的 不读debug目录的
------解决方案--------------------
debug的时候默认是根目录的 ,直接发布测试就知道了
------解决方案--------------------
问题1、
可以使用
Directory.GetFiles(Directory.GetCurrentDirectory() + "\\Plugins", "*.dll")
指定文件名
问题2、
反射的DLL类继承的接口不同即可区分,DLL都是每次遍历的,筛选出继承指定接口的类进行处理
reflectType.FindInterfaces(筛选标志,"接口名")
------解决方案--------------------
指定目录 不就可以家在任意dll了么 一般从你当前应用下的路径去定位 ../就是上一级 /就是下一级 加上Directory 或者 File可以定位到任意位置 的任意个文件