我的团队非常喜欢发布配置文件。我们在许多测试环境中工作,使用 Web.config 转换我们能够替换每个环境中的机器名称、配置设置等,这使我们的构建/部署/测试过程更加容易。
例如:
Web.config
Web.dev.config
Web.int.config
Web.prod.config
但是,我们有许多测试应用程序可用于访问我们的 Web 服务,这些应用程序作为控制台应用程序实现。我们希望能够对这些配置文件执行相同类型的转换,这样我们就可以减少与手动编辑配置文件相关的人工测试工作。
本质上,我们想要这样:
App.config
App.dev.config
App.int.config
App.prod.config
我对这些配置转换的理解是它们与我们网络项目中相应的发布配置文件相关:
Properties
PublishProfiles
dev.pubxml
int.pubxml
prod.pubxml
我试图将类似的文件添加到我们的控制台应用程序项目中,但我怀疑它是网络发布 MSBuild 目标中实际使用它们的东西。
有没有办法专门挂接到构建的这一部分,以便我们可以转换非网络配置?
最佳答案
将多个 app.configs 添加到控制台应用程序:
我使用的是 visual studio 2013。在这个版本中,我们没有配置转换。请安装 configuration transformation extension .
首先在解决方案配置中添加环境。右键单击 App.config
文件。单击添加配置转换。它添加了与解决方案配置一样多的内容。
在 App.config
中:
<appSettings>
<add key="key" value="some value" />
</appSettings>
将此代码复制到 App.Release.Config
中:
<appSettings>
<add key="same key which you have given in app.config" value="some new value" xdt:Transform="Replace" xdt:Locator="Match(key)" />
</appSettings>
最后,构建解决方案。
关于c# - C# 控制台应用程序的 App.config 文件的 Web.config 样式转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19456208/