无法使用窗口服务访问类库中的app.config

时间:2015-09-30 07:41:33

标签: c# windows-services

我的文件夹结构如下

ConsoleApp
   app.config
WindowService
   service
   app.config
DataLayer

我需要在DataLayer中获取app.config数据,例如连接字符串。我无法获取。它抛出null引用。在consoleApp和WindowService项目中,它正在运行。

请建议我如何解决此问题。

1 个答案:

答案 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"];