2

我有一个依赖于一些内部 Web 服务的应用程序,因此我们希望我们的开发和登台配置指向 Web 服务的开发和登台服务器。

现在,这意味着手动编辑我的 app.config 文件以指向适当的 URL。这不仅麻烦,而且容易出现人为错误(“哎呀,我没有删除那个生产 URL 吗?”可能会导致很多问题)。

在代码中的少数几个地方,我使用

#if DEBUG
    // do something
#endif

预处理语句,并且想知道是否可以对 app.config 中的值执行类似的操作。我已经能够使用我的应用程序设置很好地做到这一点,因为这些值可以在代码中访问。

我知道构建后脚本,但似乎有一种比编写例程更简单的方法来处理 app.config XML 每次我进行构建时。有什么建议么?

这适用于 C# 和 .NET 3.5,包括旧的“Web 引用”以及较新的 WCF“Web 服务”引用。

4

1 回答 1

3

我们使用 SourceForge 的一个名为XmlPreprocessor的程序来处理这个问题。它允许您在配置文件和不同的值文件中创建参数以填充它们。

给定以下文件:

应用程序配置

...
<importantSetting>$importantSettingValue$</importantSetting>
...

qavalues.xml

...
<importantSettingValue>QAvalue</importantSettingValue>
...

产品价值.xml

...
<importantSettingValue>PRODvalue</importantSettingValue>
...

遵循以下行的命令行是在正确位置获取正确值所需的全部内容。

XmlPreProcess.exe app.config qavalues.xml
于 2008-09-24T17:39:59.273 回答