2015-12-03 135 views
2

我正在嘗試爲Visual Studio Online中的Azure網站設置版本。不幸的是,我無法通過這個參數設置web.config參數。在Visual Studio Online版本中使用parameters.xml

據我所見,正在使用powershell腳本Publish-AzureWebsiteProject,它不支持parameters.xml轉換。

有沒有辦法做到這一點?我不想在我的代碼中存儲生產連接字符串。

預先感謝您。

編輯:更多的細節:

我有一個網站項目與web.config中如下:

<appSettings> 
    <add key="SampleSetting" value="ABC" /> 
</appSettings>` 

然後,我已經與以下內容的parameters.xml文件:

<?xml version="1.0" encoding="utf-8" ?> 
<parameters> 
    <parameter name="SampleSetting" description="This is sample setting" defaultvalue="DEFAULT" tags=""> 
    <parameterentry kind="XmlFile" scope="\\web.config$" match="/configuration/appSettings/add[@key='SampleSetting']/@value"> 
    </parameterentry> 
    </parameter> 
</parameters> 

我試着設置「附加參數」爲:

-SampleSetting "$(SampleSetting)"

並在配置選項卡「SampleSetting」中設置爲「FGH」。

當我跑發行,我收到以下錯誤:

##[error]A parameter cannot be found that matches parameter name 'SampleSetting'.

是正在運行部署蔚藍網站的命令是:

Publish-AzureWebsiteProject -Name "sheeplapublishertests" -Package  "C:\a\31c60136a\SampleWebAppReleaseBuild\SampleWebAppBuild\SampleWebApp\obj\Debug\Package\SampleWebApp.zip" -SampleSetting "FGH" 
+0

實際上,https://msdn.microsoft.com/en-us/library/azure/dn722468.aspx(在示例5中)指出可以提供動態參數。但如何做到這一點? –

+0

我剛剛嘗試了web中的Parameters.xml參數。將網站部署到Azure後,配置更新成功。使用Parameters.xml設置值時是否顯示任何錯誤消息? –

回答

0

可以使用額外的參數字段通過dynamic parameter將覆蓋Web.Config中的那些。

讓我們假設您想用連接字符串覆蓋'DefaultConnection'字段。

將版本定義的配置部分的連接字符串保存爲安全字符串。您可以勾選右側的小鎖符號以將配置變量標記爲安全。

enter image description here

然後在Azure的Web應用程序部署的附加參數部分,你可以指定-DefaultConnection $(DefaultConnection)

enter image description here

您可以通過在其他參數字段的多個參數。

+0

謝謝你的回答 - 我已經試過了,並沒有奏效。請查看我編輯的問題了解詳情。 –

0

您還可以將產品連接字符串存儲在Azure中。在此之後,您只需要在您的web.config文件中放置一個虛擬字符串。 Azure會自動覆蓋連接字符串。詳情請查詢this instruction

+0

實際上,構建日誌中有以下消息: '2015-12-03T14:46:38.2155549Z添加聲明參數'SampleSetting'.'。我想這應該工作:/ –

+0

另外 - 我需要這樣的解決方案來處理雲服務 - 我希望自動構建和發佈將解決這個問題。它看起來,它不工作:/ –

+0

不幸的是,有一個錯誤,因爲我的問題提供了一個錯誤 - '## [錯誤]一個參數不能找到匹配參數名稱'SampleSetting'.':/我會嘗試挖進一步發現我在做什麼錯誤。你有任何可能有幫助的鏈接?謝謝! –

相關問題