Je suis en train de jouer avec NHibernate 3 alpha mais j'ai du mal à configurer ma SessionFactory.NHibernate 3 Alpha - proxyfactory.factory_class?
Je donne les résultats suivants:
var config = new Configuration().Configure();
_sessionFactory = config.BuildSessionFactory();
Cependant, dans les dll fournies avec le téléchargement 3 alpha il n'y a pas fourni les classes d'usine de proxy. Ni NHibernate.ByteCode.Castle, NHibernate.ByteCode.LinFu, et les Spring fournis avec nHib 2.x ne sont pas fournis ici.
Donc, dans le paquet 3 alpha, j'ai regardé le NHibernate.Example.Web et utilisé son fourni NHibernate.ByteCode.LinFu; cet exemple l'utilise dans son fichier config.hbm.
Alors, mon hibernate.cfg.xml a
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
Avec la deuxième ligne avec défaut du code ci-dessus lors de la création du défaut d'usine
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException était non gérée par l'utilisateur code Message = Impossible de charger le type 'NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu' lors de la configuration de la classe de fabrique proxy. Les causes possibles sont: - L'assembly du fournisseur NHibernate.Bytecode n'a pas été déployé. - Le typeName utilisé pour initialiser la propriété « proxyfactory.factory_class » de la> section session usine est pas bien formé
Mais, l'arbitre Linfu est réglé sur CopyLocal et plonger plus profondément dans le stacktrace cela donne:
à System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1 (MessageRpc & RPC)
à System.ServiceModel.Dispatcher.MessageRpc.Process (Boolean isOperationContextSet) InnerException:System.IO.FileLoadException
Message = Impossible de charger le fichier ou l'assembly 'NHibernate, Version = 3.0.0.1002, Culture = neutre, PublicKeyToken = null' 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) Source = mscorlib filename = NHibernate, Version = 3.0.0.1002, Culture = neutre, PublicKeyToken = null FusionLog ==== informations d'état pré-bind ===LOG: DisplayName = NHibernate, version = 3.0.0.1002, Culture = neutre, PublicKeyToken = null (entièrement spécifié)
LOG: appbase = file: /// C: /Dev/SilverTracker/src/SilverTracker/SilverTracker.Web.Services/
LOG: initial privatePath => C: \ Dev \ SilverTracker \ src \ SilverTracker \ SilverTracker.Web.Services \ bin
Appel appelant: NHibernate.ByteCode.LinFu, Version = 3.0.0.1002, Culture = neutre, PublicKeyToken = null.
Et la Execption intérieure elle-même:
{ "Impossible de charger le fichier ou l'assembly 'NHibernate, Version = 3.0.0.1002, Culture = neutral, PublicKeyToken = null' ou une de ses dépendances La. définition manifeste de l'assembly situé ne correspond pas à la référence d'assemblage (Exception de HRESULT: 0x80131040). ":" NHibernate, version = 3.0.0.1002, Culture = neutral, PublicKeyToken = null "}
pour autant que je peux voir son trouvé le fichier, mais ce n'est pas compatible avec l'ensemble nHib 3.
Donc, je suis un peu perdu!
La configuration a-t-elle été modifiée pour 3? J'ai du mal à trouver d'autres exemples que ceux fournis avec les 3 assemblages.
Ceci est un service WCF .NET 4.0. Je suis conscient que je pourrais juste utiliser 2.x mais im essayant la nouvelle gentillesse de fournisseur de linq.
Merci d'avance.