管理每个环境的配置

5
我该如何指示app.config在每个环境中使用不同的引用?
例如:我有一个包含3个文件夹(Dev、QA和Prod)的配置文件夹

- Configuration
    - Dev
        * AppSettings.config
    - QA
        * AppSettings.config
    - Prod
        * AppSettings.config
我的app.config有这个引用。
<appSettings configSource="Configuration\Dev\AppSettings.config" />

我希望有这样的东西:
<appSettings configSource="Configuration\[$ENV]\AppSettings.config" />

$ENV配置应该在appSettings中定义,如果不可能的话可以使用其他外部来源。

另外,最佳实践是如何管理它?(不使用花哨的Chef服务器或配置服务器)。

**我还试图避免使用后置脚本操作。**


关于“配置转换”(来源:https://msdn.microsoft.com/library/dd465318(v=vs.100).aspx),你有什么想问的吗?这是你要找的东西吗? - Kien Chu
@kienct89 我添加了另一个更类似于我的真实情况的案例。这样我就无法通过调试版本解决它了... - Amir Katz
1
调试/发布只是.NET自动创建的两个默认配置。您可以通过进入“配置管理器”\“活动解决方案配置”\“新建”来添加任意数量的配置选项。 - Kien Chu
2个回答

3

您需要使用XML配置文件转换(请参见此MSDN文章)。

由于默认的配置转换是为Web.config实现的,因此您需要使用Visual Studio扩展程序将此功能应用于任何配置文件。Slow Cheetah是一个不错的选择。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接