2012-02-13 70 views
0

我想知道是否有办法让子项目中的几个自定义配置节互相追加?有没有办法导入自定义配置节?

例如,考虑项目结构:

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中。

回答

1

没有办法做到这一点,你不应该把app.config放在任何库项目中(除非在极少情况下,比如WCF)。所有配置都应该转到可执行项目的app.config,因为这是System.Configuration.ConfigurationManager关心的地方。

相关问题