【发布时间】:2011-11-04 11:04:14
【问题描述】:
我正在寻找一种管理具有多个类库的项目的配置的最佳实践。我正在寻找可维护性和易于实施。
让我们假设一个简单的例子:一个带有 2 个类库的控制台项目。每个类库都需要自己的配置设置,有些设置是几个通用的。
类库 1
- CL1设置
- 全局设置
类库 2
- CL2设置
- 全局设置
第一种方法是在主项目上创建所有必要的设置:
- 全局设置
- CL1设置
- CL2设置
但这会带来几个问题:
- 如果有很多设置,它会很快变得混乱。
- 不易维护:如何知道每个库需要哪些设置?
- 它会产生命名冲突。如果 CL1Setting 和 CL2Setting 名称相同怎么办?
对我来说理想的解决方案(虽然恐怕不可能)是在单独的文件中或至少在不同的部分中拥有自定义库设置。像这样的:
<configuration>
<appSettings>
<add key="globalSetting" value="cl1Global"/>
</appSettings>
<appSettings file="CL1.config" >
<add key="cl1setting" value="cl1setting1"/>
</appSettings>
<appSettings file="CL2.config">
<add key="cl2setting" value="cl2setting2"/>
</appSettings>
</configuration>
有什么建议吗?
编辑
正如 Ken Henderson 所建议的,配置部分是另一种方法。然而,虽然它们有自己的优势,但它们需要编码,所以我觉得它并不理想。 (不过,这可能最终成为最佳选择)
编辑 2
joseph.ferris 建议查看 CodePlex (csd.codeplex.com) 上的配置部分设计器是很好的。我发现了更多问题,在这里报告(如果有人感兴趣)http://csd.codeplex.com/discussions/278354
【问题讨论】:
标签: c# .net visual-studio-2010 configuration appsettings