无法使用 window 服务访问 class 图书馆中的 app.config
Not able to access app.config in class library with window service
我的文件夹结构如下
ConsoleApp
app.config
WindowService
service
app.config
DataLayer
我需要获取 app.config 数据,例如 DataLayer.I 中的连接字符串,但无法获取。它抛出空引用。在 consoleApp 和 WindowService 项目中,它正在运行。
请建议我如何解决这个问题。
默认情况下,当您通过 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"];
我的文件夹结构如下
ConsoleApp
app.config
WindowService
service
app.config
DataLayer
我需要获取 app.config 数据,例如 DataLayer.I 中的连接字符串,但无法获取。它抛出空引用。在 consoleApp 和 WindowService 项目中,它正在运行。
请建议我如何解决这个问题。
默认情况下,当您通过 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"];