1

这可能与我在 FNH 中遇到的另一个问题有关。

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

通常我得到一个简单的测试,首先运行以下代码:

FluentConfiguration config = Fluently
    .Configure()
    .Database(
        PostgreSQLConfiguration.Standard.ConnectionString(c => c.FromConnectionStringWithKey("PostgreSQLConnectionString")))
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<MyMapping>());

s_SessionSource = new SessionSource(config);

当我不在调试中运行它(只是运行测试)它工作正常。

当我尝试调试时,我得到NotSupportedException:第二行抛出(new SessionSource一)

不支持指定的方法。在 C:\projects\Npgsql2\src\Npgsql\NpgsqlConnection.cs:line 970 中的 Npgsql.NpgsqlConnection.GetSchema(String collectionName, String[] 限制)

为什么在调试中抛出异常,但在没有调试的情况下运行时没有错误?我对此感到困惑。再次注意,当我运行代码时它工作正常,它访问 postgre db 没有问题。

请注意,这不是 Release 和 Debug 之间的区别,它在两种情况下都是 Debug,但在第一种情况下我运行调试,但在第二种情况下我运行代码而不进行调试。

编辑:发现这个问题:http ://pgfoundry.org/forum/message.php?msg_id=1003008似乎是我的确切问题,但只发生在调试中。

4

1 回答 1

2

Npgsql.NpgsqlConnection.GetSchema 在其 collectionName 参数未知时抛出 NotSupportedException。您或许应该升级到支持 NHibernate 测试套件的最新补丁。

异常必须被 Fluent 捕获,但附加的调试器会在其上停止。

于 2011-09-13T08:15:02.363 回答