views:

750

answers:

2

I am researching a new ASP.Net project that we would like to host in a Windows Azure Web Role. One of the technical requirements of this project is to make use of the full pre-compilation options (non-updatable, single page assembly) of the ASP.Net Web Site project model - as opposed to the ASP.Net Web Application project model.

Is it possible to host ASP.Net Web Site projects in Azure? Best I can tell the project templates for Azure are ASP.Net Web Applications only at the moment.

+2  A: 

The short answer is yes, but it isn't easy.

One of the cool things about Azure is that almost anything copy-deployable can be deployed to Azure. As such you web site project can be deployed. The difficult part is that the Visual Studio tools don't currently (and may not ever) support it. You'll need to use the CSPack command line tool to package your deployment.

John Clayton
A: 

Okay, I was struggling with the same problem for couple of days, here is the step-by-step guide

(1) Publish your website project to a folder (for my case is "PrecompiledWeb\WebSite1", which resides in the sub folder of my azure project)

(2) Modify your service definition(.csdef), adding a webrole

<WebRole name="WebSite1" enableNativeCodeExecution="true">
<InputEndpoints>
  <InputEndpoint name="HttpIn" protocol="http" port="80" />
</InputEndpoints>
<ConfigurationSettings />
</WebRole>

(3) Run the following command(CSPack) at command prompt

cspack CloudService1\ServiceDefinition.csdef /role:WebRole4;WebRole4 /role:WorkerRole1;WorkerRole1\bin\Debug;WorkerRole1.dll /role:WebSite1;PrecompiledWeb\WebSite1 /out:CloudService1.cspkg /generateConfigurationFile:"ServiceConfig.cscfg"

(4) Basically you are almost done!

Good luck! ;)

Boon Kiat