Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Fluent NHibernate无法在测试的调试模式下从GAC加载MySql.Data_C#_Mysql_Unit Testing_Nhibernate_Fluent Nhibernate - Fatal编程技术网

C# Fluent NHibernate无法在测试的调试模式下从GAC加载MySql.Data

C# Fluent NHibernate无法在测试的调试模式下从GAC加载MySql.Data,c#,mysql,unit-testing,nhibernate,fluent-nhibernate,C#,Mysql,Unit Testing,Nhibernate,Fluent Nhibernate,我得到了以下代码: var cfg = new Configuration(); cfg.Configure(); FluentConfiguration config = Fluently.Configure(cfg) .Mappings( m => m.FluentMappings.AddFromAssemblyOf<InputMapping>()); s_SessionSource = new Ses

我得到了以下代码:

    var cfg = new Configuration();
    cfg.Configure();
    FluentConfiguration config = Fluently.Configure(cfg)
        .Mappings(
            m => m.FluentMappings.AddFromAssemblyOf<InputMapping>());
    s_SessionSource = new SessionSource(config);
var cfg=新配置();
Configure();
FluentConfiguration配置=Fluently.Configure(cfg)
.映射(
m=>m.FluentMappings.AddFromAssemblyOf());
s_SessionSource=新SessionSource(配置);
当我调试单元测试时,最后一行抛出异常,错误如下:

无法加载文件或程序集“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是最新的1.2版本,适用于3.1版本NHB is 3.2连接器is 6.3.7.0

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


更新好的,当我从GAC获取MySql.Data.dll并将其作为文件引用,然后安装Copy Local时,它最终开始在调试中工作。情况如何?为什么它不能在调试时从GAC加载,而可以在简单运行模式下加载?

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

是否检查以确保您引用的是所有项目中正确的DLL?我的项目引用的是MySql.Data。当在非调试模式下测试成功完成时,一个测试会将行插入到测试数据库中,例如,当我尝试调试时,不会出现错误