如何设置特定于解决方案配置的配置文件?

Jam*_*mes 8 c# web-services visual-studio

我有一个Web服务需要针对不同环境的不同设置(debug,test,prod).为这些不同的环境设置单独的配置文件的最简单方法是什么?我在网上找到的所有内容都告诉我如何使用配置管理器来检索设置,而不是如何根据当前的构建配置查找特定设置.

Xia*_*ian 4

我发现每个环境都有多个配置文件效果很好。IE:

  • 配置\local.endpoints.xml
  • 配置\ dev.endpoints.xml
  • 配置\ test.endpoints.xml
  • 配置\ staging.endpoints.xml
  • 配置\ prod.endpoints.xml

然后,我使用 web.config 或 app.config 中的内置 configSource 属性链接到此版本的“主”版本,例如

<appSettings configSource="config\endpoints.xml"/>
Run Code Online (Sandbox Code Playgroud)

然后,我将使用构建过程或部署过程将环境的正确配置复制到 web.config 期望的名称。

每个环境都有明确的标签和控制,不需要杂乱的占位符。