【问题标题】:Managing config files and code constants in a big project在大型项目中管理配置文件和代码常量
【发布时间】:2011-11-30 23:56:21
【问题描述】:

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

【问题讨论】:

    标签: c# configuration refactoring configuration-files code-cleanup


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      它完全符合您的要求。

      更新: 看看我这里的用法示例:How to select different app.config for several build configurations

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-25
        • 2012-09-20
        • 2010-12-02
        • 1970-01-01
        • 2011-01-01
        • 2011-09-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多