0

Azure service configuration有兩個參數 - osFamilyosVersionosFamily可以是1表示Windows Server 2008(默認)或2表示Windows Server 2008 R2。 osVersion默認爲*,意思是「無論如何,這取決於Azure基礎設施」。如何在不明確指定版本的情況下將Azure角色切換到Windows Server 2008 R2?

現在我想從默認切換到R2。我打開配置文件並添加osFamily="2",現在當我嘗試部署服務時,我收到以下錯誤消息:

無效的.cscfg文件。如果在.cscfg文件中設置了osFamily屬性,則還需要設置osVersion屬性。 osVersion屬性可以是用於自動操作系統升級的'*',也可以是特定操作系統版本的名稱。

這不知何故意味着現在我必須指定確切的操作系統版本。

我不想指定確切的版本,我寧願有「無論如何,這取決於Azure,只是讓它成爲一些Windows Server 2008 R2」。

如何在沒有明確指定確切操作系統版本的情況下切換到Windows 2008 R2?

+0

這是已經部署的服務嗎?我試圖重現,但無法獲得該錯誤消息。 – mcollier 2012-08-02 15:13:58

+0

@mcollier:我試圖「升級」現有的部署並創建新的部署 - 行爲對我來說是一樣的。 – sharptooth 2012-08-02 15:23:53

回答

3

如果我正確地讀你的問題,你有你的.cscfg文件中的一行,看起來像這樣

<ServiceConfiguration serviceName="MyService" osFamily="2" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"> 
基於什麼錯誤消息告訴你

,而osVersion可能默認爲*,如果你指定osFamily你還必須指定osVersion。在你的情況下,你想添加屬性,並將其設置爲*如下。

<ServiceConfiguration serviceName="MyService" osFamily="2" osVersion="*" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"> 
+2

這簡直令人難以置信。他們真的強迫我拼出默認值。 – sharptooth 2012-08-03 07:03:07

+0

@sharptooth在http://msdn.microsoft.com/en-us/library/windowsazure/ee758710.aspx它被列爲可選項,並且以'*'作爲默認值,所以我理解這個沮喪,但是,錯誤消息確實表明如果設置了osFamily,則需要它(在這種情況下,他們希望您提供該值)。認爲這個錯誤在個人身上非常明顯,而且非常可信。從osFamily'1'移動到osFamily'2'時,你有沒有其他問題? – jamiebarrow 2012-09-06 11:33:14

+0

@jamiebarrow:Yeap,R2不喜歡我的代碼創建的本地用戶的密碼 - 認爲它太簡單了。 – sharptooth 2012-09-10 07:52:36

相關問題