2013-03-10 120 views
6

所以我有以下要求: 1.編譯大型MVC應用程序並預​​編譯所有視圖。 2.運行轉換爲web.config中 3.封裝和發佈部署到Azure的Web角色編譯MVC和預編譯視圖並部署到Azure WebRole

我可以,如果我我們msdeploy做1修改文件凸出,2項工程,當我使用3工作正常VS 2012 Azure工具。現在我想把這些全部放在一個腳本化的過程中。

有沒有人已經完成了腿部工作,讓這個運行?

+0

您可以通過在命令行傳入'/ p:PrecompileBeforePublish = true'而不是MvcViews-sounding屬性來添加#1到#2 – 2013-03-11 11:38:35

+0

Richard - 謝謝,是的,我可以檢查預編譯中的複選框UI。我相信這裏面的挑戰是我試圖將Web角色的發佈與webdeploy的一些發佈功能結合起來,它們似乎是不同的動物。我知道我可以發佈Web角色,然後對其進行web部署,但只有當您擁有1個Web角色實例時纔有效。 – 2013-03-11 13:13:12

回答

6

1)

/p:PrecompileBeforePublish=true 

2 + 3)

您需要添加下面的MSBuild目標在你.ccproj在轉化Web.config文件複製(使用Web.Release.config作爲您的轉換目標):

<Target Name="CopySpecialFilesIntoPackage" AfterTargets="CopyWorkerRoleFiles"> 
    <ProjectName>WebProjectName</ProjectName> 
    <TransformXml Source="$(ProjectDir)..\$(ProjectName)\Web.config" Transform="$(ProjectDir)..\$(ProjectName)\Web.Release.config" Destination="$(ProjectDir)obj\$(Configuration)\$(ProjectName)\$(ProjectOutput).config" /> 
</Target> 

如果你想網絡部署的Web角色的多個實例,您可以使用Azure網站或開源項目Azure Web Farm爲當你需要網絡角色時(例如自定義域上的SSL)。