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

现在,这意味着手动编辑我的app.config文件以指向相应的网址。这不仅是一个麻烦,而且容易出现人为错误(<!>“oops,我是否删除了那个生产URL?<!>”会造成很多问题。)

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

#if DEBUG
    // do something
#endif

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

我知道后期构建脚本,但似乎可能有一种比编写例程更简单的方法来在每次构建时使用app.config XML。有什么建议吗?

这适用于C#和.NET 3.5,并且包含旧的<!>“Web引用<!>”;以及较新的WCF <!>“web services <!>”;引用。

有帮助吗?

解决方案

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

给出以下文件:

的app.config

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

qavalues.xml

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

prodvalues.xml

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

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

XmlPreProcess.exe app.config qavalues.xml
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top