2011-08-15 8 views
4

J'ai un projet utilisant NHibernate (version 2.2). Pour la mise à niveau vers NHibernate 3.2, que dois-je faire?mise à niveau vers nhibernate 3.1

Ai-je besoin de cette mise à niveau après les DLL?

  1. NHibernate.Linq.dll
  2. Iesi.Collections.dll
  3. Castle.Core.dll
  4. Castle.DynamicProxy2.dll
  5. Log4net.dll

Ai-je besoin que mettre à jour les fichiers hbm? Ai-je besoin de ce fichier de mise à niveau hibernate.cfg.xml?

+1

Vous n'avez plus besoin de NHibernate.Linq, mais vous devrez mettre à jour toutes vos requêtes puisque NHibernate a maintenant son propre fournisseur LINQ qui se trouve sous 'Query' plutôt que 'Linq'. Vous devriez brancher votre application et faire la mise à jour parce que, sans aucun doute, vous aurez besoin de réparer vos requêtes et mappages, beaucoup de choses ont changé depuis la version 2.1. – Phill

+0

Aussi, vous devriez aller accepter quelques réponses à vos questions! – Phill

Répondre

8
  1. Lors de la mise à niveau NH 3.2 vous ne avez pas besoin NHibernate.Linq.dll plus, mais nom de la méthode qui est utilisée pour obtenir de l'aide LINQ n'est pas Linq<T> - son Query<T> maintenant
  2. Vous n'avez pas besoin pour modifier les fichiers HBM
  3. vous devez mettre à jour l'ensemble Iesi.Collections
  4. vous n'avez pas besoin dll proxy castle.dynamic (vous pouvez toujours l'utiliser, mais ce ne sont plus nécessaires)
  5. Log4Net est not required anymore
  6. Vous aurez probablement besoin de changer votre fichier cfg pour change dynamic proxy settings

La meilleure façon d'obtenir la dernière version de NH avec tous les ensembles nécessaires est d'utiliser Nuget

+0

Je l'ai fait. Il a une erreur. Parce que Nhibernate.linq.dll est correspond pas par Nhibernate.dll (ver 3.1) message d'erreur est: Impossible de charger le fichier ou l'assembly 'NHibernate, Version = 2.1.2.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4' ou l'une de ses dépendances. La définition de manifeste de l'assembly localisé ne correspond pas à la référence d'assembly. (Exception de HRESULT: 0x80131040) Je dois mettre à niveau Nh ver 3.1, De quoi ai-je besoin à la version de Nhibernate.linq.dll? – Ehsan

+0

Je reçois la même erreur de référence d'assemblage! – Patricia

+1

Soit supprimer l'assembly NHibernate.Linq, soit mettre l'assembly en cours de redirection – Sly

0

mise à niveau des dll et tester votre programme Normalement, cela devrait suffire

+0

Les fournisseurs LINQ ne sont pas compatibles à 100%. –

Questions connexes