3

我有一个程序集,我想从 appbase 的子文件夹中加载。我在创建 AppDomain 期间在 PrivateBinPath 中设置了该子文件夹。

问题是我在应用程序库中有同一个 DLL 的另一个版本。从外观上看,解析器首先检测到错误的版本,说存在不匹配并停止。因此,永远不会加载正确的版本(位于子文件夹中)。

我已经通过删除应用程序库中的那些 DLL 对此进行了测试,它解决了这个问题。即使找到错误的版本,有没有办法强制搜索?

4

2 回答 2

2

您可以使用AppDomainSetup.PrivateBinPathProbe

AppDomainSetup.PrivateBinPathProbe = "x"

编辑:只需将其设置为另一个值null就足够了,另请参阅此 MSDN 条目:

http://msdn.microsoft.com/en-us/library/system.appdomainsetup.privatebinpathprobe.aspx

于 2012-04-04T23:28:50.857 回答
1

只想使用PrivateBinPath? 如果是这样,看起来您可以设置PrivateBinPathProbe为任何非空字符串引用:

将此属性设置为任何非空字符串值,包括 String.Empty (""),以从应用程序的搜索路径中排除应用程序目录路径(即 ApplicationBase),并仅在 PrivateBinPath 中搜索程序集。

当然,如果您确实想要 include ,那也无济于事ApplicationBase,而是使用PrivateBinPathin preference

于 2012-04-04T23:29:00.997 回答