如何指示app.config在每个环境中使用不同的引用?
例如:我有一个包含3个文件夹的配置文件夹--Dev,QA和Prod
- 配置
- 开发
* AppSettings.config
- 质量保证书
* AppSettings.config
- 产品
* AppSettings.config
我的app.config有这个参考
<appSettings configSource="Configuration\Dev\AppSettings.config" />
我想要像
这样的东西<appSettings configSource="Configuration\[$ENV]\AppSettings.config" />
$ ENV config应该在appSettings中定义,或者如果不可能在其他外部源中定义。
管理它的最佳做法是什么? (不使用花哨的Chef服务器或配置服务器)。
**我也试图避免发布脚本操作。**
答案 0 :(得分:2)
您需要使用XML配置文件转换(请参阅this MSDN article)。
由于为Web.config
实现了默认配置转换,因此您需要使用Visual Studio扩展来将此功能应用于任何配置文件。 Slow Cheetah是一个很好的。
答案 1 :(得分:0)
另一个解决方案是使用环境变量: Using environment variables for .config file in .NET
然后引导应用程序在运行时更改app.config http://www.codeproject.com/Articles/12589/Modifying-Configuration-Settings-at-Runtime