assemblies - 在同一文件夹中使用同一程序集的不同版本

标签 assemblies reference multiple-versions

我有以下情况

项目A

 - Uses Castle Windsor v2.2
 - Uses Project B via WindsorContainer

项目B

 - Uses NHibernate
 - Uses Castle Windsor v2.1

在项目 A 的 bin 文件夹中,我有 dll CaSTLe.DynamicProxy2.dll v2.2 和 NHibernate dll。现在的问题是NHibernate依赖于CaSTLe.DynamicProxy2.dll v2.1,但它不存在。我该如何解决这种情况。

最佳答案

我使用以下配置来解决该问题。

<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Castle.DynamicProxy2" publicKeyToken="407dd0808d44fbdc" />
                <codeBase version="2.1.0.0" href="v2.1\Castle.DynamicProxy2.dll" />
                <codeBase version="2.2.0.0" href="v2.2\Castle.DynamicProxy2.dll" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" />
                <codeBase version="1.1.0.0" href="v2.1\Castle.Core.dll" />
                <codeBase version="1.2.0.0" href="v2.2\Castle.Core.dll" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

关于assemblies - 在同一文件夹中使用同一程序集的不同版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460542/

相关文章:

c# - 两个不同的程序集版本 "The located assembly' 的 list 定义与程序集引用不匹配”

c# - 如何像签署程序集一样签署 ZIP 文件?

.NET 程序集加载优先级

c++ - 复制构造函数参数中const,类型和&的顺序

android - 如何实现多个Android版本使用不同的库?

.net - 使用强名称签名如何防止伪造一组程序集?

java - 嵌套对象最佳实践

python - 在没有exec/eval,python的字符串中调用代码

scala - 从 CLI 快速切换 Scala 版本

php - 处理同一 URL 中的多个版本