流畅的NHibernate无法在测试的调试模式下从GAC加载MySql.Data

我得到以下代码:

var cfg = new Configuration(); cfg.Configure(); FluentConfiguration config = Fluently.Configure(cfg) .Mappings( m => m.FluentMappings.AddFromAssemblyOf()); s_SessionSource = new SessionSource(config); 

当我使用以下错误调试unit testing时,最后一行抛出exception:

无法加载文件或程序集“MySql.Data”或其依赖项之一。 该系统找不到指定的文件。

问题是它没有说它尝试使用的版本。 我尝试使用以下配置捕获所有版本:

      

但问题仍然存在。 奇怪的是exception没有说明版本,它通常在这种情况下。

流利的NHB是3.1版本的最新1.2版NHB是3.2连接器是6.3.7.0

我正在使用MSTest。 当我在没有调试的情况下运行测试(运行检查测试)时,它不会抛出任何exception并成功完成(它确实对MySQL测试数据库执行操作,因此在这种情况下它会找到MySql.Data.dll并插入行例如没有问题) 。

更新好的,当我从GAC获取MySql.Data.dll并将其作为文件引用时,并设置Copy Local它最终开始在调试中工作。 怎么回事? 为什么它无法在调试中从GAC加载它,并且可以在简单的运行模式下?

也许是32/64位执行配置的问题? 两个平台的DLL都是相同的,但.exe不是。 您可以检查您的测试项目是否配置为AnyCPU。