在分离的AppDomain上加载程序集时出错

时间:2015-11-24 11:51:12

标签: c# .net app-config appdomain

我的应用程序创建了多个AppDomain,我通过SetConfigurationBytes方法手动配置绑定重定向。我获取配置文件,检查私有文件夹上安装的所有程序集,然后设置assemblyRedirect,如下例所示。这是为了确保我总是使用给定程序集的发布版本:

<dependentAssembly>
    <assemblyIdentity name="System.Net.Http" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="2.2.18.0" />
  </dependentAssembly>

但是,当在不同的AppDomain中加载的程序集依赖于System.Net.Http程序集时,我收到以下错误:System.IO.FileLoadException:加载此程序集将生成与其他程序集不同的授权集实例

我已经看到了解决此问题的两种可能方法:删除此DLL配置中的<dependentAssembly>元素,或者在GAC上添加此程序集。

我不喜欢这样做,因为第一个可能会导致其他程序集出现问题,第二个依赖于GAC,我的一些客户不喜欢。

任何人对如何解决这个问题有不同的想法?

提前致谢。

0 个答案:

没有答案