在「VSTS 佈署依據環境替換 Web.config」這篇文章中已經介紹過如何替換 Web.config 的值
於是我用相同的方式想要替換掉 Web.config 中的 Connection String
卻是一直無法成功
不懂為何同樣方式可以置換掉其他的值, 但 Connection String 卻無法置換
所以才寫了這篇記錄下我怎麼替換成功
首先紀錄我替換失敗的步驟
在 parameters.xml 中定義了要置換的 connection strings 如下
但執行 web deploy package 出來的 SetParameters.xml 一直無法替換成 __(我想替換的字串)__
這步驟若替換不了, 在 Release 步驟執行 Power Shell Script 也就無法 mapping 成環境變量
既然無法置換那就可以移除掉上述的代碼
環境與專案
Windows 10 + Visual Studio 2015 Update 3
MVC Project 中使用了 EntityFramework
重新檢視單鍵發行步驟
使用 Visual Studio 單鍵發行的功能
選擇 Web Deploy Package 的 Settings Tab 多了幾個選項可以設置
原來這裡就可以輸入想要替代的值, 並把「Use this connection string at runtime」勾選
此時再檢視發行出來的 SetParameters.xml
可以看到 value 的成功設定成想要替換的 __xxx__
接下來我們在執行 VSTS 上的 Release 步驟佈署站台
Connection String 就可以利用我們之前寫的 power shell script 成功吃到了環境變量的值 !