我想知道是否有办法让子项目中的多个自定义配置部分相互追加?
例如,考虑项目结构:
Solution\
MainGUI\
App.config
Settings\
MainGUISettings.cs
PrintingLibrary\
App.config
Settings\
PrintingSettings.cs
SocketLibrary\
App.config
Settings\
SocketSettings.cs
DatabaseAccessLibrary\
App.config
Settings\
DatabaseAccessSettings.cs
PrintingUnitTest\
App.config
Settings\
PrintingUnitSettings.cs
每个项目都有一个App.config,其中包含各自任务的特殊设置。例如,PrintingLibrary包含一个App.config,其中包含PrintingSettings自定义配置部分。 SocketLibrary包含一个包含SocketSettings自定义配置部分的App.config。 DatabaseAccessLibrary包含一个App.config,其中包含DatabaseAccessSettings自定义配置部分。
MainGUI包含一个App.config,其中包含主GUI设置以及每个库的自定义配置部分的“导入标签”。在查看MainGUI项目的App.config源时,PrinterSettings,SocketSettings和DatabaseAccessSettings部分只是“导入代码”,但是当您构建MainGUI时,生成的MainGUI.exe.config文件包含所有三个子部分。
如果我构建了PrintingUnitTest,它还会导入PrinterSettings自定义部分。那么有没有内置的方法来做到这一点?
现在,我这样做只是将所有自定义配置部分放在MainGUI项目的App.config中,只需复制UnitTest项目的App.config中所需的部分。
答案 0 :(得分:1)
没有办法实现这一点,你不应该将app.config放在任何库项目中(除非在诸如WCF的罕见情况下)。所有配置都应该转到可执行项目的app.config,因为这是System.Configuration.ConfigurationManager关心的地方。