2013-03-10 16 views
6

Così ho i seguenti requisiti: 1. Compilare una grande app MVC e precompilare tutte le sue viste. 2. Eseguire trasforma per web.config 3. Pacchetto e pubblica per la distribuzione in Azure Web RoleCompilare MVC e visualizzazioni precompilate e distribuire su Azure WebRole

posso fare 1 con un file proj modificato, 2 opere se noi msdeploy, e 3 funziona bene quando uso il Strumenti di Azure di VS 2012. Ora voglio mettere tutto insieme in un processo di scripting.

Qualcuno ha già fatto il lavoro per eseguire questa operazione?

+0

È possibile aggiungere da # 1 a # 2 passando in '/ p: PrecompileBeforePublish = true' dalla riga di comando anziché dalla proprietà MvcViews-sounding –

+0

Richard - grazie, sì e posso controllare la casella di controllo pre-compilazione in UI. Credo che la sfida qui sia il fatto che sto cercando di combinare la pubblicazione di un ruolo web con alcune delle funzionalità di pubblicazione di webdeploy e sembrano essere bestie diverse. So che posso pubblicare un ruolo web e quindi farlo da web ma che funziona solo se hai 1 istanza del ruolo web. –

risposta

6

1)

/p:PrecompileBeforePublish=true 

2 + 3)

È necessario aggiungere il seguente obiettivo MSBuild nel vostro .ccproj per copiare nel file web.config trasformato (usando come Web.Release.config il vostro obiettivo per le trasformazioni):

<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> 

Se si desidera distribuire web a più istanze di un ruolo web, è possibile utilizzare Azure Siti web o il progetto open source per Azure Web Farm quando hai bisogno di un ruolo web (es. SSL su domini personalizzati).

Problemi correlati