我有以下情况
项目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/