在多个项目中加载 app.config 会得到空指针异常



我有一个项目解决方案:公用事业主项目

其中实用程序由MainProject使用,MainProject是我正在使用的主dll。

我为每个项目都有一个app.config。特别是,我的实用程序项目会自动将其 app.config 放在 Utilities\bin\debug\ 文件夹中。在我的代码中,我尝试从以下位置访问它:

private static Configuration UConfiguration = ConfigurationManager.OpenExeConfiguration(new Uri(Assembly.GetExecutingAssembly().CodeBase).AbsolutePath);

private static Configuration UConfiguration = ConfigurationManager.OpenExeConfiguration(typeof(UtilitiesConfiguration).Assembly.Location);

但显然,当我尝试访问配置时,它们都会给出相同的空指针异常错误。

当我打印出配置的FilePath时,它显示它正在尝试从MainProject\bin\debug加载此配置,所有dll最终都会转到该配置,但是实用程序的app.config显然没有被复制过来。

解决此问题的最佳方法是什么?

主 application.config 是应用程序将从中读取配置的位置。 不查看其他配置。

你想做什么,也许有一个更好的解决方案,使用由配置元素和自定义部分组成的类

如果您使实用程序应用程序从 utilities.config 文件中读取,则当其他开发人员尝试编辑配置或需要调试并且他们只会查找主应用程序配置时,您将在以后引起混淆。 这不是我经验的标准

最新更新