【发布时间】:2011-08-25 18:45:15
【问题描述】:
我正在尝试遵循 this 教程,但 VS 调试器一直要求我提供一个名为 FluentConfiguration.cs 当它到达这一行时:
return Fluently.Configure()
.Database(MySQLConfiguration.Standard
.ConnectionString(c => c
.Server("localhost")
.Database("test")
.Username("root")
.Password("w1e2a3r4")))
.Mappings(m => m
.AutoMappings.Add(model))
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
除了这一行(我使用的是 MySql)之外,我的所有代码都与教程中的完全相同。我检查了三次参数,应该没问题..
我得到的是一个对话框,要求我找到 FluentConfiguration.cs,当它找不到它时,它会给出:
An invalid or incomplete configuration was used while creating a SessionFactory.
Check PotentialReasons collection, and InnerException for more detail.
我尝试从here 复制此文件,但效果不佳。
我在这里错过了什么?
技术信息-我使用的是 VS 2010 express、ASP.NET MVC3、MySQL server 5.5 和连接器:6.3.6
编辑:
这是内部异常的消息:
无法从 NHibernate.Driver.MySqlDataDriver、NHibernate、Version=2.1.2.4000、Culture=neutral、PublicKeyToken=aa95f207798dfdb4 创建驱动程序。
编辑 2:
现在我得到“校验和不匹配:
查找 'd:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs' 的源代码。校验和:MD5 {94 f4 4c 43 49 bd 48 fb 9a d7 b2 fc 5 e1 4e d8}
确定校验和是否与以下位置匹配:
1: C:\Users\Oren\Desktop\FluentConfiguration.cs 校验和:MD5 {84 33 30 45 11 da 3d 40 8e 2d 3c a9 e 7c cc 14} 校验和不匹配。
文件 'd:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs' 不存在。
在脚本文档中查找 'd:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs'...
在项目中查找 'd:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs'。
该文件在一个项目中找到:'C:\Users\Oren\Desktop\FluentConfiguration.cs'。
确定校验和是否与以下位置匹配:
1: C:\Users\Oren\Desktop\FluentConfiguration.cs 校验和:MD5 {84 33 30 45 11 da 3d 40 8e 2d 3c a9 e 7c cc 14} 校验和不匹配。
查看目录 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\vc7\atlmfc'...
查看目录 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\vc7\crt'...
查看目录'C:\Users\Oren\Desktop\'...
活动解决方案的调试源文件设置表明调试器不会要求用户查找文件:d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs。
调试器找不到源文件 'd:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs'。
【问题讨论】:
-
我怀疑您的具体错误是由于 NHibernate 无法解析 Mysql.Data 程序集(这是 Mysql 的 ADO 提供程序)。尝试将其添加到您的项目引用路径中,或者(不太优先)将其放入二进制文件的工作目录中
-
感谢您的评论,我认为这让我进步了一点,但问题还没有解决。请参考我的第二次编辑。谢谢。