3

我正在开发一个庞大的 C# 代码库(~300 KLOC)。系统的组件使用分散在文件夹层次结构中的配置文件。从一个地方的配置中读取的值存储在另一个地方的常量中。在不同的文件夹中有多个相同配置的副本,复制并签入一次,然后永远不会更新。有些文件有 3 个不同的版本,一个用于开发机器,一个用于暂存,另一个用于实时系统。我必须收拾这个可怕的烂摊子。我应该如何开始?处理不同文件中的重复值、同一文件的多个副本以及不同构建环境的多个版本的智能策略是什么?如何在不创建“依赖磁铁”的情况下将所有内容存储在一个地方?

4

2 回答 2

3

清理工作会很痛苦;当你移动时,你必须做很多查找/替换。我将从利用 .NET 已经提供的功能开始,即,将所有这些设置放在Application.config(或者Web.config如果是 ASP.NET 应用程序)上并用于ConfigurationManager.AppSettings["key"]检索各种值。至于不同的环境,也有开箱即用的支持,您可以使用appSettings 转换

于 2011-12-01T00:19:09.827 回答
2

您的祈祷的答案是 ConfigGen。在 CodePlex 上查看:ConfigGen

它完全符合您的要求。

更新:在此处查看我的使用示例:如何为多个构建配置选择不同的 app.config

于 2011-12-05T09:11:31.760 回答