2010-05-16 5 views
0

Je ne savais pas par où commencer, mais j'avais obtenu la version la plus récente de NHibernate, mappé avec succès le plus simple des objets métier, etc. Lorsque j'essayais de passer à FluentNHibernate et de faire la même chose,Passage de NHibernate à FluentNHibernate: erreur d'assemblage (liée aux versions)?

« System.IO.FileLoadException: Impossible charger le fichier ou l'assembly 'NHibernate, version = 2.1.0.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4' ou une de ses dépendances de l'assemblage situé . La définition du manifeste ne correspond pas à la référence d'assembly. "

Contexte: Je suis nouveau à Hibernate, NHibernate et FluentNHibernate - mais pas à .NET, C#, etc.

Database J'ai une table de base de données appelée Catégorie:

(PK) CategoryID (type: int), unique, auto-incrémenté UserID (type: uniqueidentifier) ​​- étant donné la valeur de l'utilisateur Guid dans la base de données ASP.NET Titre (type: varchar (50) - le titre de la catégorie

Composants impliqués:

  • j'ai un SessionProviderClass qui crée la cartographie à la base de données
  • J'ai une classe de catégorie qui a toutes les méthodes virtuelles pour FluentNHibernate pour remplacer
  • J'ai un CategoryMap: Classe ClassMap, qui effectue les mappages courants pour l'entité
  • J'ai une classe CategoryRepository qui contient la méthode à ajouter & enregistrer la catégorie
  • J'ai le fichier TestCatAdd.aspx qui utilise la classe CategoryRepository.

Serait heureux d'afficher le code pour l'un de ceux-ci, mais je ne suis pas sûr qu'il est nécessaire, car je pense que la question est que quelque part il y a un conflit de version entre ce que FluentNHibernate références et la NHibernate J'ai installé de avant.

Merci d'avance pour toute aide que vous pouvez donner!

+2

Il semble que l'erreur n'a rien à voir avec votre code et qu'elle est plus liée aux références du projet. Avez-vous essayé de supprimer la référence et de l'ajouter de nouveau? –

Répondre

2

Il n'existe pas de «passage de NHibernate à FluentNHibernate». FluentNHibernate est juste un addon pour NHibernate qui fournit une manière légèrement différente de créer les mappages. Le message d'erreur est clair: vous utilisez une version de FluentNHibernate compilée pour NHibernate 2.1.0, et vous avez essayé de l'utiliser avec NHibernate 2.1.2, d'où le conflit de version.

Téléchargez une version de Fluent qui utilise NH 2.1.2 ou compilez à partir de la source.

1

Merci à tous,

La vraie réponse a été de supprimer et ajouter les ensembles qui sont venus avec FluentNHibernate (y compris la version compatible de NHibernate).

J'ai aussi de se rappeler d'ajouter les références correctes (par exemple, lors de l'utilisation de NHibernate, je ne l'avais pas ajouté des références à Castle.dll, etc.)

Cependant, plus de problèmes Ce sondage a permis, que je vais poster sur dans un fil séparé.

Merci!

+0

Le problème avec cette approche est que vous utilisez efficacement une version obsolète de NHibernate qui manque plusieurs correctifs, juste pour utiliser Fluent. –

+0

Fluent NHibernate fonctionne avec la dernière version GA de NHibernate, au moment de notre version 1.0 qui était 2.1.0 (je crois). La branche 'master' fonctionne maintenant sur 2.1.2GA, et c'est ce qui sera livré avec notre version 1.1 imminente. –

Questions connexes