2009-10-16 6 views
2

J'ai eu un système opérationnel qui utilisait la pré-version de Fluent NHibernate v0.0.1.0 avec NHibernate 2.1.0.4000 et NHibernate.Linq 1.0.0.0.FluentNHibernate RTM et NHibernate.Linq

Je viens de mettre dans les nouvelles DLL Fluid NHibernate RTM et ai fixé mon code pour les changements de rupture mais je reçois quelques problèmes dépendants de la façon dont j'essaye de l'implémenter. 1) Si je ne modifie pas la NHibernate dll par celle fournie avec FluentNHibernate, je reçois un message d'erreur me disant que Fluent NHibernate cible une version différente de NHibernate même si les deux ont le même numéro de version.

Le message d'exception est la suivante: « Assemblée 'FluentNHibernate, Version = 1.0.0.593, Culture = neutral, PublicKeyToken = 8aa435e3cb308880' utilise 'NHibernate, Version = 2.1.0.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4' qui 2) Si je change la NHibernate dll en celle qui est fournie avec FluentNHibernate RTM, alors mon programme rompt avec la version NHibernate RTM de FluentNibibate RTM. lorsque vous essayez de résoudre les assemblys dans la classe qui utilise NHibernate.Linq. Il se plaint également des conflits trouvés entre les versions dépendantes du même assembly. Si NHibernate.Linq 1.0.0.0 ne peut pas être utilisé avec Fluent NHibernate alors ça va et je vais trouver un moyen de contourner cela, mais je suis intéressé si quelqu'un a trouvé un moyen pour eux de bien jouer ensemble et pourquoi il y a apparemment deux versions divergentes de NHibernate avec le même numéro de version.

Merci,

+0

Avez-vous essayé de compiler les différentes pièces à partir du code source? –

Répondre

2

Vos numéros de version ne sont pas les mêmes selon cette exception.

... 'FluentNHibernate' utilise 'NHibernate, Version = 2.1.0.4000 ... qui a une version supérieure à l'assemblage référencé' NHibernate, Version = 2.0.1.4000 ...

2.1.0.4000 vs 2.0.1.4000

1

Vous pouvez essayer d'utiliser la redirection de liaison pour ce montage comme décrit here.

Here est l'échantillon qui pourrait fonctionner pour vous (n'ont pas essayé bien)

+0

J'ai essayé cela mais je pense que parce que les numéros de version sont les mêmes, il était impossible de rediriger. Au moins j'ai exactement la même erreur après avoir ajouté le re-direct dans le app.config. – Wysawyg

+0

Très intéressant et étrange. Avez-vous essayé de définir oldVersion comme une version (oldVersion = "2.0.0.0-2.1.65534.65534") –

+0

Pour commencer, je viens d'utiliser la syntaxe générée automatiquement à partir de Visual Studio 2008, donc il a fait oldVersion = "0.0.0.0- 2.1.0.4000 "alors j'ai essayé l'exemple de syntaxe que vous avez suggéré et puis j'ai juste essayé de combiner les deux et d'utiliser la gamme et toujours pas de joie. – Wysawyg

Questions connexes