1.在App.config配置文件中runtime节点下,添加privatePath属性来添加指定目录,只能填写相对路径:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
//程序集当前目录下的相对路径目录,多个相对路径用;号分割
<probing privatePath="目录1;目录2;" />
</assemblyBinding>
</runtime>
2.如果程序集是强签名后的,那么可以通过codeBase来指定网络路径或本地绝对路径。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="neutral" />
<codeBase version="2.0.0.0"
href="http://www.litwareinc.com/myAssembly.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>
当然,我们还可以在代码中通过AppDomain类中的几个成员来改变搜索规则,如AssemblyResolve事件、AppDomainSetup类等。
有关运行时节点的描述:https://docs.microsoft.com/zh-cn/dotnet/framework/configure-apps/file-schema/runtime/runtime-element