У нас есть тест сопоставления Fluent NHibernate, который проходит на наших локальных компьютерах, но когда мы регистрируемся в TFS, тесты на сервере сборки не выполняются. Мы используем MSTest. Мы получаем ошибку:
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException: невозможно загрузить тип 'NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle' во время настройки класса фабрики прокси.
Возможные причины:
- Сборка поставщика NHibernate.Bytecode не была развернута.
- TypeName, использованное для инициализации свойства proxyfactory.factory_class в разделе фабрики сеансов, сформировано неверно.
Решение:
Убедитесь, что ваша папка развертывания содержит одну из следующих сборок:
NHibernate.ByteCode.LinFu.dll
NHibernate.ByteCode.Castle.dll ---> System.IO.FileNotFoundException: Не удалось загрузить файл или сборку 'NHibernate.ByteCode.Castle' или одну из ее зависимостей. Системе не удается найти указанный файл. WRN: Журнал привязки сборки выключен.
Чтобы включить ведение журнала ошибок привязки сборки, задайте для параметра реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) значение 1.
Примечание. Некоторое снижение производительности связано с регистрацией ошибок привязки сборки.
Чтобы отключить эту функцию, удалите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Мы проверили папку удаления, и там есть файл NHibernate.Bytecode.Castle.dll. У нас есть dll и ссылки на Castle.Core, Castle.DynamicProxy2, Iesi.Collections, log4net, NHibernate и NHibernate.ByteCode.Castle. Мы запустили тесты через MSBuild с командной строкой в папке drop, и ошибка все еще возникает. Наши беглые отображения выглядят так (NHibernateConfig.MappingConfiguration ()) вызывает фактические отображения, автоматически):
Fluently.Configure ()
.Database (SQLiteConfiguration.Standard.ShowSql (). InMemory ())
.Mappings (NHibernateConfig.MappingConfiguration ())
.BuildConfiguration ();
Есть идеи, почему это может быть?