2012-06-20 85 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。

相關問題