|
|
1
2
当.NET Fusion绑定您的引用时,它会在探测请求的DLL时通过许多目录。所有这些都应该是ApplicationBase的子目录。您可以通过检查fuslogvw实用程序生成的融合日志来查看它们。要启动该实用程序,可以从Visual Studio“工具”菜单打开命令提示。如果此探测进程找不到您的dll,将引发异常 除非在探测发生时订阅了AppDomain.AssemblyResolve事件。在这种情况下,您将有机会使用assembly.load或assembly.loadfrom自行加载程序集。 编辑 只有在AppDomainSetup privateBinPath属性中列出其他目录时,它才会在这些目录中查找。如果以编程方式创建域,则可以自己设置属性,对于主AppDomain,可以在AppConfig文件中设置该属性: <configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin\subdir;anotherbin"/>
</assemblyBinding>
</runtime>
</configuration>
我试图让额外的目录位于您的appbase下,否则它们将被忽略。 |