Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 管理每个环境的配置_C#_.net_Configuration_App Config - Fatal编程技术网

C# 管理每个环境的配置

C# 管理每个环境的配置,c#,.net,configuration,app-config,C#,.net,Configuration,App Config,如何指示app.config在每个环境中使用不同的引用 例如:我有一个配置文件夹,其中包含3个文件夹:Dev、QA和Prod -配置 -Dev *AppSettings.config -QA *AppSettings.config -产品 *AppSettings.config 我的app.config有此引用 <appSettings configSource="Configuration\Dev\AppSettings.config" /> 我想要点像这样的 <app

如何指示app.config在每个环境中使用不同的引用

例如:我有一个配置文件夹,其中包含3个文件夹:Dev、QA和Prod

-配置
-Dev
*AppSettings.config
-QA
*AppSettings.config
-产品
*AppSettings.config

我的app.config有此引用

<appSettings configSource="Configuration\Dev\AppSettings.config" />

我想要点像这样的

<appSettings configSource="Configuration\[$ENV]\AppSettings.config" />

$ENV config应该在appSettings中定义,如果不可能,也可以在其他外部源中定义

还有,管理这种情况的最佳做法是什么?(不使用fancy Chef服务器或配置服务器)


**我还试图避免后期脚本操作。**

您需要使用XML配置文件trasforms(请参阅)


由于默认配置转换是为
Web.config
实现的,因此您需要使用Visual Studio扩展将此功能添加到任何配置文件中。是一个很好的解决方案。

另一个解决方案可以使用环境变量:

然后引导应用程序在运行时更改app.config

关于
配置转换
(来源:)呢?这就是你要找的吗?@kienct89我添加了另一个与我的真实案例更相似的案例。这样的话,我就不能用debug-release来解决这个问题……debug/release只是.NET自动创建的两个默认配置。通过转到
配置管理器
\
活动解决方案配置
\
新建