原本使用VS2010維護的專案,改用VS2012開啟時出現Web Deployment Project不相容的警示,爬文後發現,該跟這位VS2005起一路相隨的老朋友說再見了。

有篇MSDN Blog詳細解釋了此一決策的"心路歷程"(參考: Plans regarding Website projects and Web Deployment Projects),簡單摘要如下:

在VS2012開發階段時,開發團隊考慮了對WAP(Web Application Project,ASP.NET MVC也算)及WSP(Web Site Project)部署作業上的改良,限於資源有限,無法在上市時讓WAP及WSP都具備同等部署能力。最後的決策是先從WAP下手,理由是WAP已支援MSDeploy及MSBuild整合,而WSP在這方面則付之闕如,故策略是柿子挑軟的先吃先強化WAP部署功能,待VS2012後續Release再為WSP補齊與WAP同等的部署能力,例如:

  • 支援MSDeploy / MSDeploy package / FTP / File System / FPSE
  • 可設定多組部署Profile並保存在版控系統
  • 命令列執行
  • 部署時自動調整web.config
  • 部署時啟動Entity Framework CF migrations
  • 遞增式資料庫Schema部署
  • 檔案預覽
  • 其他

未來WAP與WSP將會使用同樣的部署模組,但現階段,WAP部署介面已改為.NET寫的版本,WSP則還是Unmanaged版。未來WSP專案可能會增加_Publish之類的資料夾及一些特殊檔案(.pubxml)以配合MSBuild的批次作業模式。換句話說,WSP的部署功能現在還沒完全Ready。

至於Web Deployment Project(WDP),由於其功能未來都可會被WSP內建的部署機制,而WDP要修改到能支援VS2012工程浩大,RD最後的決定是柿子挑軟的吃將時間投資在WSP部署功能的開發,使WAP與WSP的部署經驗一致。這算是好事一椿,但背後的意義是: 再會了,Web Deployment Project~

VS2012 WSP部署功能補強何時釋出,尚無明確時間表,在此之前如有MSBuild等自動部署需求,恐怕還是得招喚WDP再撐一陣子囉。(WDP含淚表示: ...)


Comments

# by tomexou

遲遲未升級至vs2012,就是卡在wdp沒有支援上來,微軟雖有一堆理由,但並沒有釋出一個替代方式的profile設定檔,讓開發人員隨著升級。WSP的build是每頁一個unique name,雖然這name可以多次編譯一樣,但感覺不是很踏實。 所以關於wdp這部分,再等等。

Post a comment