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

本文关键字:类库 app config 访问 服务 窗口 | 更新日期: 2023-09-27 18:15:08

文件夹结构如下图

ConsoleApp
   app.config
WindowService
   service
   app.config
DataLayer

我需要获得app.config数据,如DataLayer中的连接字符串。我不能得到。它抛出空引用。在consoleApp和WindowService项目中,它正在工作。

请建议我如何解决这个问题

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

默认情况下,. net应用程序在通过ConfigurationManager访问它时使用它自己的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"];