流畅的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。