2012-06-20 126 views
4

早上好, 是否有可能将程序集请求映射到另一个程序集中的版本?例如我们的产品使用NHibernate 3.2。我们正在转向NServiceBus 3.2.2。对于DBSubscription存储,它使用NHibernate,并且它的版本为NHibernate,在NServiceBus.NHibernate中为3.3。.NET程序集绑定,我可以将程序集映射到另一个程序集中的版本?

我该如何映射NHibernate的3.2.0.2002到NServiceBus.NHibernate这是3.3的请求......

<assemblyIdentity name="NHibernate" 
          publicKeyToken="aa95f207798dfdb4" 
          culture="neutral" /> 
     <bindingRedirect oldVersion="3.2.0.2002" 
         newVersion="3.3.0.4000"/> //I need it to be NServiceBus.NHibernate 

感谢任何提示或技巧。样品和链接总是赞赏。

谢谢大家!

回答

2

在你的绑定重定向可以使用codeBase元素重定向到一个不同的代码库:

<dependentAssembly> 
    <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" /> 
    <bindingRedirect oldVersion="3.2.0.2002" newVersion="3.3.0.4000"/> 
    <codeBase version="3.3.0.4000" href="file:///C:/path/to/assembly.dll" /> 
</dependentAssembly> 

的公共密钥必须是相同的,但是。您不能绑定到使用不同密钥签名的不同程序集。

如果键是不同的,那么你需要重新编译你的解决方案对NServiceBus.NHibernate。

相关问题