0

J'ai un site web local que je cours sur le serveur web de développement interne de Visual Studio 2008 (via le bouton run/compile).Bizarre MethodNotFound exception lors du renommage d'une propriété - liée à asp.net/web forms/fluentnhibernate et studio visuel

J'ai une bibliothèque externe qui est référencée sur une page de ce site Web et réside dans le dossier «bin» du site Web. J'ai récemment changé le nom d'une classe dans cette bibliothèque (en la renommant, de "ValidFrom" en "VisibleFrom"), recompilé sa DLL et remplacé la DLL d'origine dans le dossier bin.

Cette classe est mappée avec FluentNHibernate, j'ai également changé les mappages et recompilé/redéployé la bibliothèque.

Lorsque je tente de gérer le site et accédez à la page où la bibliothèque est utilisée, je suis obtenir un methodNotFound exception pour la méthode get_ValidFrom, liée à l'appel de configuration de FluentNHibernate. Cela devrait être get_VisibleDepuis maintenant! Maintenant j'ai reconfiguré mon NHibernate SessionProvider afin qu'il génère une nouvelle configuration pour NHibernate à chaque appel, et ne le récupère pas comme avant, parce que je pensais que le problème pouvait être lié.

Je reçois toujours l'exception cependant. J'ai ensuite supprimé le contenu du dossier Temporary ASP.NET ... mais l'erreur persiste.

Où est stocké le schéma généré pour NHibernate lors de l'utilisation de FluentNHibernate? Tout le monde sait où cela pourrait être mis en cache d'une manière ou d'une autre?

Merci

Répondre

0

FNH ne cache pas le schéma, il est généré à la volée lorsque vous effectuez un appel à Fluently.Configure() et le schéma est transmis directement dans un objet NHibernate Configuration qui est utilisé pour construire un ISessionFactory. Essayez d'effacer tous les objets/bibliothèques/exécutables compilés, supprimez la référence à votre bibliothèque de tous les projets qui l'utilisent, ajoutez-la de nouveau, puis recompilez tout. Vérifiez également tout votre code pour les "chaînes magiques" qui peuvent faire référence à cette propriété ou l'amener à être référencé par l'ancien nom.

Si cela ne fonctionne pas, il peut être utile de voir une trace de pile pour avoir une idée de ce qui est appelé d'où.

Questions connexes