gpt4 book ai didi

c# - 尝试运行 Fluent NHibernate 教程示例时出现运行时错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:59 25 4
gpt4 key购买 nike

我在 http://wiki.fluentnhibernate.org/Getting_started 学习了 Fluent NHibernate 教程项目编译正常。

但是,我遇到了一个运行时错误,而且我似乎无法解决它。您可以在本教程中看到的 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 目录中,我认为所有引用都可以解析。 (这是我对其工作原理的理解)。无论如何,这里是我复制到 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 程序集复制到 bin 中。

对于我的生活,我无法弄清楚问题是什么。我已经尝试了所有我能想到的方法,并在谷歌上搜索了多条错误消息,但没有任何效果。

帮助!我在这上面浪费了几个小时。

编辑
我已将项目的源文件放在 http://dl.dropbox.com/u/8824836/FluentNHibernateExample.zip。 .请记住,要完全复制我的环境,您需要将 here 中的所有文件放入其中。进入你的 output/bin 目录。

赛斯

最佳答案

我觉得自己是个白痴,但归根结底,映射问题是由于我将项目命名为 FluentNHibernate(在我自己的辩护中它位于 SAMPLES 文件夹中)引起的,但这导致了映射失败。

在内部,Visual Studio 将程序集名称默认为 FluentNHibernate,这导致了运行时错误。将程序集重命名为 ConsoleApplication 修复了它。

赛斯

关于c# - 尝试运行 Fluent NHibernate 教程示例时出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com