0

我有一个场景,我需要在启动时读取环境变量,然后根据 ENV 变量的值,我需要将配置文件与 App.config 文件合并。

例如

MyApp.exe
MyApp.exe.config
Stage\MyApp.exe.config
Live\MyApp.exe.config

开始时 - 如果环境变量 = Stage,则合并 Stage 文件夹中的配置文件 - 如果环境变量 = Live,则合并 Live 文件夹中的配置文件

如果我在默认 MyApp.exe.config 中有以下内容

<appSettings>
 <add key="SomeKey" value="SomeValue">
</appSettings>

然后在 Stage\MyApp.exe.config 中有以下内容

<appSettings>
  <add key="SomeKey" value="Some NEW Value">
</appSettings>

我希望我的应用程序将 SomeKey 的值读取为“一些新值”。

我似乎找不到一种干净的方法来实施这种确切的方法。

谢谢沃里克

4

1 回答 1

0

您可能希望在 Visual Studio 中使用生成事件。

http://msdn.microsoft.com/en-us/library/42x5kfw4(v=vs.90).aspx

您可以使用该变量在预构建事件中复制覆盖 app.config:

$(ConfigurationName)

如果配置名称是DEV,则将 app.config.DEV 复制到 app.config

如果配置名称是PROD,则将 app.config.PROD 复制到 app.config

于 2013-10-30T19:12:35.860 回答