假设一个大型复合应用程序构建在自己的程序集中打包的几个基础组件上:(数据库读取,协议处理程序等).对于某些部署,这可以包括20多个程序集.每个程序集都有设置或配置信息.我们的团队倾向于喜欢VS设置编辑器(以及它生成的易用代码!),应用程序与用户的区别满足了我们的大多数需求.
但....
将许多配置部分复制并粘贴到我们的应用程序的.xml中非常繁琐.此外,对于跨应用程序往往具有类似配置的共享组件,这意味着我们需要在多个.config文件中维护重复设置.
微软的EntLib使用外部工具解决了这个问题,以生成怪物.config文件,但这也感觉很笨拙.
您使用什么技术来管理包含来自多个共享程序集的大型.NET .config文件?某种包含机制?自定义配置读者?
跟进:
Will的回答正是我所得到的,并且对于平键/值对部分看起来很优雅.有没有办法将此方法与自定义配置部分相结合?
还要感谢有关为不同构建目标管理不同.configs的建议.这也很有用.
戴夫
您使用一个指向其他配置文件的主配置文件. 这是一个如何做到这一点的例子.
如果链接腐烂,您要做的是为特定配置部分指定configSource.这允许您在单独的文件中定义该特定部分.
这意味着在包含整个
节点树的同一目录中有一个名为"pages.config"的文件.
我首选的方法是使用MSBuild,如果你右键单击一个项目并点击"卸载",会弹出一个"编辑"菜单选项.选择它,它将打开项目文件,以便您可以编辑它,向下滚动,直到找到一个名为"AfterBuild"的注释掉的部分.
然后你可以添加如下内容:
这将使用一个名为[Release | Debug]的app.exe.config替换应用程序配置.因此,您可以根据项目的构建方式维护单独的配置.
但是一个快速而又脏的选项(如果你不想使用msbuild)只是维护单独的配置文件,然后定义你想要包含哪个,如下所示:
如果你正在做一个asp.net应用程序,微软提供了一个很棒的实用程序,称为"Web部署项目",可以让你轻松管理所有这些,点击这里