Não foi possível criar o driver a partir do NHibernate.Driver.OracleDataClientDriver

Aqui está o código que gera a exceção:

public static class NHibernateSessionManager
{
    private static ISessionFactory sessionFactory = new Configuration().Configure().BuildSessionFactory();

    public static ISession GetSession(string clientId)
    {
        if (ContextSession == null)
            ContextSession = sessionFactory.OpenSession(new OracleIntercerptor(clientId.ToUpper()));
        else
            ((OracleConnection)ContextSession.Connection).ClientId = clientId;

        return ContextSession;
    }

    // - snip -
}

e a chamada para o código onde a exceção é gerada:

    private ISession NHibernateSession
    {
        get 
        {
            return NHibernateSessionManager.GetSession(SessionWrapper.GetUser());
        }
    }

Eu recebo umTypeInitializationException

{"O inicializador de tipo para 'Sigaf.Presupuesto.EntidadesDAL.NHibernate.NHibernateSessionManager' lançou uma exceção."}

Com uma exceção interna de

{"Não foi possível criar o driver do NHibernate.Driver.OracleDataClientDriver."}

Mais algumas exceções internas me levam a um NRE:

Referência de objeto não definida para uma instância de um objeto
at NHibernate.Driver.OracleDataClientDriver..ctor ()

NHibernate v3.0 Target Framework v4.0 Esta implementação de código está funcionando para outras soluções semelhante

Oh, o arquivo Hibernate.config:

<?xml version="1.0"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
    <property name="current_session_context_class">web</property>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
    <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
    <property name="connection.connection_string_name">Sigaf</property>
    <property name="default_schema">PRE</property>
    <property name="show_sql">true</property>
    <mapping assembly="Sigaf.Presupuesto.EntidadesDAL" />
  </session-factory>
</hibernate-configuration>

questionAnswers(1)

yourAnswerToTheQuestion