2016-05-25 58 views
2

連接字符串參數我使用msDeploy(3.0)部署我的MVC應用程序了。我有一個構建流水線產生構建工件的msdeploy和我的部署管線施加適當的web.config它部署到生產實例之前轉換上的Web.config。其中一個轉換包括對連接字符串的更改。然而,看着部署的情況下,這似乎是我的web.config變換正在受到setParameters.xml的參數在我的構建構件覆蓋。如何忽略SetParameter.xml

理想的行爲是,我是避免添加任何連接字符串SetParameter.xml讓我所有的連接字符串覆蓋將只是我的部署管線進行控制。我如何實現這一目標?

下面是SetParameters.xml的樣本文件

<parameters> 
     <setParameter name="IIS Web Application Name" value="Default/Foo"/> 
     <setParameter name="Foo-Web.config Connection String" value="Server=Foo,1433;Database=Bar;Integrated Security=SSPI;MultiSubnetFailover=True;App=Something;Connection Timeout=25"/> 
    </parameters> 

理想的情況下它會看起來像

<parameters> 
     <setParameter name="IIS Web Application Name" value="Default/Foo"/> 
    </parameters> 

我已經嘗試傳遞的parameters.xml文件到的MSBuild的步驟,不包含connectsion字符串參數,但沒有奏效

回答

6

撞牆我的頭之後的幾個小時,我終於想通了解決方案。的MSBuild發生在一個參數 - 號碼:AutoParameterizationWebConfigConnectionStrings =假防止所述連接字符串被參數化。不幸的是,這個參數很少或沒有文檔。

您還可以設置這個在每個項目的基礎上增加

 <AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings> 

到您的構建配置的的PropertyGroup。