Winforms ConfigurationManager.ConnectionString[“”]在windows窗体的数据访问层(DAL)中使用时为空

Winforms ConfigurationManager.ConnectionString[“”]在windows窗体的数据访问层(DAL)中使用时为空,winforms,mvp,n-tier-architecture,Winforms,Mvp,N Tier Architecture,我正在windows窗体应用程序中使用模型视图presenterMVP体系结构。一切都很好。但是在数据访问期间,我遇到了ConfigurationManager.ConnectionString[]为空的问题,因此我无法进行任何数据库交互 我的DAL层的设计: 首先,我添加了一个类库项目。然后将数据源添加到项目中。这为我的DAL项目添加了一个app.config和必要的连接字符串。然后对一些类进行数据库处理。初始化我的连接字符串时出现错误 私有字符串connString=Configuratio

我正在windows窗体应用程序中使用模型视图presenterMVP体系结构。一切都很好。但是在数据访问期间,我遇到了ConfigurationManager.ConnectionString[]为空的问题,因此我无法进行任何数据库交互

我的DAL层的设计: 首先,我添加了一个类库项目。然后将数据源添加到项目中。这为我的DAL项目添加了一个app.config和必要的连接字符串。然后对一些类进行数据库处理。初始化我的连接字符串时出现错误 私有字符串connString=ConfigurationManager.ConnectionString[SimpleBilling\u MVP\u Ribbon.DAL.Properties.Settings.Test\u SimpleBillingDBConnectionString].ConnectionString

在这里,我得到了作为configurationManager的异常“参数超出范围”。ConnectionString[]为null

我的调查结果: 1有人说,app.config应该是整个应用程序的一个,因此应该位于应用程序条目项目中。但我应该把它放在什么地方,因为DAL毕竟需要它,所以View不是一个合适的地方

2我进行了一些搜索,发现configurationManager.ConnectionString[]不能直接用于类库projectDLL中。我得到了一些代码项目文章来演示如何使用一些变通方法在DLL中使用相同的代码

但在我的例子中,它不仅仅是一个需要处理configurationManager的DLL。所有MVP都需要以同样的方式处理数据库?那么人们是如何做到这一点的呢

你有经验的想法在这里会很有帮助