我有一个应用程序从属性
中的配置(myapp.exe.config)文件中指定的子文件夹加载其大部分dll<probing privatePath="subdir"/>
我的问题是:如果dll位于探测路径中指定的同一子目录“subdir”中,我是否可以仅使用其文件名加载运行时的dll(例如mydll.dll) ?
我尝试Assembly.LoadFile("mydll.dll")
,但不会搜索“subdir”。
答案 0 :(得分:4)
我个人并不真的相信信任探测路径 - dll一直是个噩梦,而.net对改善这种情况没有任何帮助。如果你打算使用Assembly.Load,并且你确切地知道在哪里看,为什么不只是为自己找到dll并确保你正好加载你想要的东西而不是让.net决定从6岁开始的东西局域网的阴暗角落更令人兴奋吗?
答案 1 :(得分:1)
您无需加载dll文件,只需使用Type.GetType(typeName)获取您的类型,然后使用此类型实例化您的对象