3

我有一个应用程序从属性中的配置(myapp.exe.config)文件中指定的子文件夹加载其大部分 dll

<probing privatePath="subdir"/> 

我的问题是:如果 dll 位于探测路径中指定的同一子目录“subdir”中,我可以在运行时仅使用其文件名加载 dll(比如 mydll.dll)吗?

我试过Assembly.LoadFile("mydll.dll")了,但这不会在“subdir”中搜索。

4

2 回答 2

4

就我个人而言,我并不真正信任信任探测路径——dll 一直是一场噩梦,.net 并没有采取任何措施来改善这种情况。如果您仍然要使用 Assembly.Load,并且您确切地知道在哪里查看,为什么不自己找到 dll 并确保您准确加载您想要的内容,而不是让 .net 从一个 6 年前决定局域网的阴暗角落更精彩?

于 2009-12-11T18:50:19.907 回答
1

您无需加载 dll 文件,只需使用 Type.GetType(typeName) 获取您的类型,然后使用此类型实例化您的对象

于 2012-03-21T12:19:46.860 回答