我正在尝试使用S#arp Lite。我在这里跟着指示 - https://github.com/codai/Sharp-Lite/blob/master/README.txtS#arp Lite - NHibernate初始化程序未找到命名连接字符串
当我第一次尝试运行在NUnit的的MappingIntegrationTests
,我收到以下错误:
MySolution.Tests.NHibernateProvider.MappingIntegrationTests.CanConfirmDatabaseMatchesMappings:
SetUp : NHibernate.HibernateException : Could not find named connection string MySolutionConnectionString
MySolution.Tests.NHibernateProvider.MappingIntegrationTests.CanConfirmDatabaseMatchesMappings:
SetUp : NHibernate.HibernateException : Could not find named connection string MySolutionConnectionString
NUnit的指示上面的错误是从的第二行未来SetUp
方法MappingIntegrationTests
。
[SetUp]
public virtual void SetUp() {
_configuration = NHibernateInitializer.Initialize();
_sessionFactory = _configuration.BuildSessionFactory();
}
我NHibernateInitializer
类的Initialize
方法,
public static Configuration Initialize() {
Configuration configuration = new Configuration();
configuration.Proxy(p => p.ProxyFactoryFactory<DefaultProxyFactoryFactory>())
.DataBaseIntegration(db => {
db.ConnectionStringName = "MySolutionConnectionString";
db.Dialect<MsSql2008Dialect>();
})
.AddAssembly(typeof(ActionConfirmation<>).Assembly)
.CurrentSessionContext<LazySessionContext>();
ConventionModelMapper mapper = new ConventionModelMapper();
mapper.WithConventions(configuration);
return configuration;
}
而且从MySolution.Tests
项目App.Config
文件,
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="MySolutionConnectionString" connectionString="data source=.\SQLEXPRESS;Initial Catalog=MySolutionDB-DEV;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</ connectionStrings>
</configuration>
我不明白为什么NUnit的测试运行与失败消息Could not find named connection string MySolutionConnectionString
。据对贫嘴配置詹姆斯科瓦奇的博客文章,这似乎是这应该没有问题 -
“设置db.ConnectionStringName导致NHibernate的读取来自[应用|网络]的配置部分的连接字符串。配置“。