NHibernate 3 Alpha - proxyfactory.factory_class? - PullRequest
       3

NHibernate 3 Alpha - proxyfactory.factory_class?

3 голосов
/ 12 сентября 2010

Я играю с NHibernate 3 alpha, но изо всех сил пытаюсь настроить SessionFactory.

У меня есть следующее:

 var config = new Configuration().Configure();
 _sessionFactory = config.BuildSessionFactory();

Однако в предоставленных dll с загрузкой 3 alpha нет предоставленных классов фабрики прокси. Т.е. NHibernate.ByteCode.Castle, NHibernate.ByteCode.LinFu и Spring, предоставленные с nHib 2.x, здесь не представлены.

Итак, в пакете 3 alpha я посмотрел на NHibernate.Example.Web и использовал предоставленный им NHibernate.ByteCode.LinFu; этот пример использует его в своем config.hbm.

Итак, мой hibernate.cfg.xml имеет

<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>

С ошибкой во второй строке из-за вышеприведенного кода при создании Factory

NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException не был обработан кодом пользователя Сообщение = невозможно загрузить тип 'NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu' во время настройки класса фабрики прокси. Возможные причины: - Сборка поставщика NHibernate.Bytecode не была развернута. - TypeName, использованный для инициализации свойства 'proxyfactory.factory_class' раздела> session-factory, сформирован неправильно

Но ссылка LinFu установлена ​​на CopyLocal, и углубляясь в трассировку стека, вы получаете:

в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1 (MessageRpc & rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process (логическое значение isOperationContextSet) InnerException: System.IO.FileLoadException
Сообщение = Не удалось загрузить файл или сборку 'NHibernate, Версия = 3.0.0.1002, Культура = нейтральная, PublicKeyToken = null' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) Источник = mscorlib FileName = NHibernate, версия = 3.0.0.1002, культура = нейтральная, PublicKeyToken = ноль FusionLog ==== Предварительно связать информацию о состоянии ===

LOG: DisplayName = NHibernate, версия = 3.0.0.1002, культура = нейтральная, PublicKeyToken = ноль (Полностью указано)
LOG: Appbase = file: /// C: /Dev/SilverTracker/src/SilverTracker/SilverTracker.Web.Services/
LOG: Initial PrivatePath => C: \ Dev \ SilverTracker \ src \ SilverTracker \ SilverTracker.Web.Services \ bin
Вызывающая сборка: NHibernate.ByteCode.LinFu, версия = 3.0.0.1002, культура = нейтральная, PublicKeyToken = ноль.

И само внутреннее исполнение:

{"Не удалось загрузить файл или сборку" NHibernate, версия = 3.0.0.1002, Culture = нейтральный, PublicKeyToken = null 'или одна из его зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT : 0x80131040) ":" NHibernate, версия = 3.0.0.1002, культура = нейтральная, PublicKeyToken = null "}

Насколько я вижу, он нашел файл, но не совместим со сборкой nHib 3.

Итак, я в растерянности!

Конфиг изменился на 3? Я изо всех сил пытаюсь найти другие примеры, кроме тех, которые поставляются с 3 сборками.

Это служба .NET 4.0 WCF. Я знаю, что могу просто использовать 2.x, но я пробую новую любезность провайдера linq.

Заранее спасибо.

1 Ответ

1 голос
/ 12 сентября 2010

Если бы я не был таким наглым, я бы выпустил более новую версию (альфа 2), которая включает в себя все, что вы ожидаете.

Захвачено здесь: текст ссылки

Все хорошо, я оставлю это здесь, если у кого-то еще есть такая же проблема.

...