我的文件夹结构如下
ConsoleApp
app.config
WindowService
service
app.config
DataLayer
我需要在DataLayer中获取app.config数据,例如连接字符串。我无法获取。它抛出null引用。在consoleApp和WindowService项目中,它正在运行。
请建议我如何解决此问题。
答案 0 :(得分:0)
默认情况下,当您通过ConfigurationManager访问它时,.NET应用程序会使用它自己的app.config文件。要打开另一个项目的配置,您必须手动加载它。
以下代码段打开位于数据层项目下的外部app.config,并访问该文件的ConnectionStrings部分:
var map = new ExeConfigurationFileMap() { ExeConfigFilename = @"path\to\datalayer\app.config" };
var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
var connectionString = config.ConnectionStrings.ConnectionStrings["myDBConn"];