Я работал над руководством Fluent NHibernate на http://wiki.fluentnhibernate.org/Getting_started, и проект компилируется нормально.
Тем не менее, я получаю ошибку во время выполнения, и я не могу ее исправить.Ошибка происходит в методе CreateSessionFactory, который вы можете увидеть в руководстве.Вот оно:
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database
(
SQLiteConfiguration.Standard
.UsingFile(DbFile)
)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<FluentNHibernateSample.Program>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
}
Я думаю, что самая полезная вещь, которую нужно сделать, - это дать вам цепочку исключений (это реальное слово) от Внешнего исключения до самого внутреннего исключения:
An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.
An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.
Could not compile the mapping document: (XmlDocument)
persistent class FluentNHibernateSample.Entities.Employee, FluentNHibernate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null not found
Could not load file or assembly 'FluentNHibernate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
В руководстве не было ясно, как настроить ссылку (или, по крайней мере, она кажется неполной на основе самого внутреннего исключения), поэтому я получил скомпилированные сборки из http://fluentnhibernate.org/downloads/releases/fluentnhibernate-1.1.zip и скопировал их в папку libs.Основываясь на поиске ошибки, я установил ссылки на сборки FluentNHibernate, NHibernate и NHibernate.ByteCode.Castle.Я скопировал ВСЕ dll со страницы загрузок в каталог bin и подумал, что все ссылки разрешатся.(Это мое понимание того, как это работает).В любом случае вот список файлов, которые я скопировал в корзину.
Antlr3.Runtime.dll
FluentNHibernate.dll
FluentNHibernate.exe
FluentNHibernate.pdb
FluentNHibernate.vshost.exe
FluentNHibernate.vshost.exe.manifest
FluentNHibernate.xml
Iesi.Collections.dll
Iesi.Collections.xml
log4net.dll
log4net.xml
NHibernate.ByteCode.Castle.dll
NHibernate.dll
NHibernate.xml
Я также скопировал сборку System.Data.Sqlite в корзину.
За свою жизнь я не могу понять, в чем проблема.Я перепробовал все, что мог придумать, и погуглил несколько сообщений об ошибках, но у меня ничего не получилось.
Помогите!Я потратил впустую часы на это.
РЕДАКТИРОВАТЬ
Я поставил исходные файлы для проекта на http://dl.dropbox.com/u/8824836/FluentNHibernateExample.zip. Имейте в виду, что для полной репликации моей среды вам нужнопоместить все файлы из здесь в каталог output / bin.
Seth