我在动态加载.dlls,我想从我的.exe所在的 子目录中加载它们。AppDomain.CurrentDomain.AppendPrivatePath(“myPath”);备择方案?
要达到这样的Assembly.Load("SomeAssembly");
其中SomeAssembly.dll位于下“的DLL \”,我已经做了
AppDomain.CurrentDomain.AppendPrivatePath("DLLs");
这工作得很好,但显然AppendPrivatePath
已被弃用。 有人告诉我它是什么代替放置这在我的app.config
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="DLLs"/>
</assemblyBinding>
</runtime>
然而,这没有任何影响。 Assembly.Load("SomeAssembly")
将抛出一个例外,即SomeAssembly
找不到。那么我如何才能做到这一点?
我可以ofcourse:
- 继续使用
AppDomain.CurrentDomain.AppendPrivatePath("DLLs");
,即使它否决。在同一目录中的.exe - 将所有我的插件.DLL文件(MEH ...)
探测元素应该工作,你确定你为可执行文件(即YourExecutable.exe.config)创建了一个app.config文件,而不是在一个DLL文件(即YourDll.dll.config)上? – 2010-02-22 15:43:55