[英]Fluent NHibernate connection to MySql without MySql.Data in GAC
[英]Fluent NHibernate cannot load MySql.Data from GAC in debug mode of a test
我得到以下代码:
var cfg = new Configuration();
cfg.Configure();
FluentConfiguration config = Fluently.Configure(cfg)
.Mappings(
m => m.FluentMappings.AddFromAssemblyOf<InputMapping>());
s_SessionSource = new SessionSource(config);
当我调试单元测试时,最后一行抛出异常并出现以下错误:
无法加载文件或程序集“MySql.Data”或其依赖项之一。 该系统找不到指定的文件。
问题是它没有说明它尝试使用的版本。 我尝试使用以下配置捕获所有版本:
<dependentAssembly>
<assemblyIdentity name="MySql.Data"
publicKeyToken="c5687fc88969c44d"
culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0-6.3.6.0"
newVersion="6.3.7.0" />
</dependentAssembly>
但问题仍然存在。 很奇怪,异常没有说明版本,通常在这种情况下。
Fluent NHB 是 3.1 版本的最新 1.2 NHB 是 3.2 连接器是 6.3.7.0
我正在使用 MSTest。 当我在没有调试的情况下运行测试(运行检查测试)时,它不会抛出任何异常并成功完成(它确实使用 MySQL 测试数据库执行操作,因此在这种情况下,它会找到 MySql.Data.Z06416233FE5EC4C4C593Z1222E 的示例) .
更新好的,当我从 GAC 获取 MySql.Data.dll 并将其作为文件引用,并设置 Copy Local 时,它终于开始在调试中工作。 这是什么情况? 为什么它不能在调试中从 GAC 加载它,并且可以在简单运行模式下?
也许是 32/64 位执行配置的问题? DLL 对于两个平台是相同的,但.exe
不是。 您可以检查您的测试项目是否配置为 AnyCPU。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.