程序集解析程序忽略PrivateBinPath
本文关键字:PrivateBinPath 程序 程序集 | 更新日期: 2023-09-27 18:30:07
我有一个程序集,我想从appbase的子文件夹加载。在创建AppDomain期间,我在PrivateInPath中设置了该子文件夹。
问题是我在appbase中有相同DLL的另一个版本。从外观上看,解析器首先检测到错误的版本,表示存在不匹配并停止。因此,永远不会加载正确的版本(位于子文件夹中)。
我已经通过删除appbase中的DLL进行了测试,它解决了问题。即使找到了错误的版本,有没有办法强制搜索?
您可以使用AppDomainSetup.PrivateBinPathProbe
:
AppDomainSetup.PrivateBinPathProbe = "x"
编辑:只需将其设置为null
以外的另一个值就足够了,另请参阅MSDN条目:
http://msdn.microsoft.com/en-us/library/system.appdomainsetup.privatebinpathprobe.aspx
是否仅想要使用PrivateBinPath
?如果是这样,看起来您可以将PrivateBinPathProbe
设置为任何非空字符串引用:
将此属性设置为任何非null字符串值,包括string.Empty("),以从应用程序的搜索路径中排除应用程序目录路径(即ApplicationBase),并仅在PrivateBinPath中搜索程序集。
当然,如果确实希望包含ApplicationBase
,但在首选项中使用PrivateBinPath
,则这没有帮助。