2009-10-30 5 views
1

Nous avons ramifié NH 2.0.1 pour quelques changements mineurs et cela a bien fonctionné. Notre mise à niveau vers 2.1.0 a des problèmes de dll avec NHibernate.Caches.SysCache étant construit contre un NH différent. Ma question principale est de savoir comment faire face à cela? Puis-je utiliser un type de mappage d'assemblage, ou y a-t-il du code source que je peux utiliser pour compiler?NHibernate.Caches.SysCache version problèmes avec la branche Nhibernate 2.1.0

Voici l'erreur: « Impossible de charger le fichier ou l'assembly « NHibernate, Version = 2.1.0.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4 » ou une de ses dépendances définition manifeste de l'Assemblée situé ne correspond pas à l'assemblée. référence (exception HRESULT: 0x80131040) ".

Si nous commenter la référence dans le web.config, cela fonctionne autrement.

Répondre

4

Mettre dans votre web.config:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="NHibernate" 
           publicKeyToken="aa95f207798dfdb4" 
           culture="neutral" /> 
      <bindingRedirect oldVersion="2.1.0.4000" 
          newVersion="X.X.X.X" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

en remplaçant X.X.X.X par la version que vous avez donné à votre construction. Remarque: Si la nouvelle version de l'assembly n'est pas signée avec la même clé, la redirection de liaison ne fonctionnera pas. Si tel est le cas, vous n'avez pas d'autre choix que de recompiler NHibernate.Caches.SysCache contre votre build NHibernate personnalisé.


MISE À JOUR:

Il semble que le private key est inclus dans le référentiel de sorte que vous devriez être bon d'aller :-)

+0

Je n'avais aucune idée que je devais signer avec une clé privée. C'était tout ce dont j'avais besoin, beau travail. – Trent

Questions connexes