对于VSTS工作者角色,我尝试构建配置转换,以便根据环境更改设置。
我在我的解决方案目录App.dev.config和App.prod.config中创建了两个文件,我已将其链接到测试项目。然后我使用this tool来应用配置转换并生成文件App.Debug.config和App.Release.config。
在我的工作人员角色的常规旧app.config中,我指定应用程序设置通常来自App.dev.config文件,因此它可以保留在原位或被转换覆盖。
<appSettings file="App.dev.config">
。
在我的App.Release.config文件中,我有以下转换指向我的appSettings以从我的生产定义中读取:<appSettings file="App.prod.config" xdt:Transform="SetAttributes(file)">
当我在本地计算机上的调试和发布配置之间切换时,我的机器人工作正常。我成功地看到打印出的环境变量取决于我是否选择&#34;发布&#34;或&#34;调试。&#34;但是,当我部署到VSTS并指定&#34; release&#34;在我的BuildConfiguration变量中,日志文件说他们正在进行转换,但如果我查看远程计算机上的配置文件,则不会发生此类转换。
正如您所看到的,他们表明某种转变成功了:
2018-05-01T19:58:08.9166019Z App_config_AfterCompile:
2018-05-01T19:58:08.9166379Z转换源文件:App.config
2018-05-01T19:58:08.9311923Z应用转换文件:App.Release.config
2018-05-01T19:58:08.9767602Z输出文件:obj \ Release \ DeviceCloud.Application.ReportWorker.exe.config
2018-05-01T19:58:09.0006922Z转型成功
所以,我不确定为什么我的DeviceCloud.Application.ReportWorker.exe.config文件没有应用转换。