如何避免在app.config中为特定部署注释(out)<configuration>部分?</configuration>

时间:2014-08-12 09:48:09

标签: c# winforms app-config asp.net-3.5

注意: 我在Google上搜索过此内容并没有直接找到与WinForms相关的内容。输入此问题时建议的问题并不适用于我的情况。

我有一个WinForms(.NET 3.5)应用程序,可以发布/部署到三个不同的位置:developmenttestproduction。每种部署类型都有自己的特定设置,例如:connectionString,title(s),webservice address,要读取的目录/文件或其他设置。

app.config中的当前情况如下:

<!-- dev-->
<configuration>
  <configSections>...</configSections>
  <appSettings>
    <add key="Deployment" value="dev" />
    <add key="SourceDir" value="\\server\foo\dev" />
  </appSettings>
...
</configuration>

<!-- test -->
<configuration>
  <configSections>...</configSections>
  <appSettings>
    <add key="Deployment" value="test" />
    <add key="SourceDir" value="\\server\foo\test" />
  </appSettings>
...
</configuration>

<!-- prod -->
<configuration>
  <configSections>...</configSections>
  <appSettings>
    <add key="Deployment" value="prod" />
    <add key="SourceDir" value="\\server\foo\prod" />
  </appSettings>
...
</configuration>

每次应用程序需要发布/部署到某个位置时,其他两个都会被注释掉。因此,如果我构建DEV版本,我会注释掉PROD和TEST部分。在发布生产时,......你明白了。

这是一项无用的耗时工作。我的问题是:有没有办法避免这种情况?我还有一种方法可以使用单独的特定于部署的配置,但我不需要对所需的部分进行评论()。

0 个答案:

没有答案