2013-04-05 62 views
1

我花了几天的时间才将应用程序部署到auze。所有这一切都看起来不错,但我陷入了虚拟应用程序的问题。部署的天青虚拟应用程序webrole未编译

在我的服务定义文件我有

<Sites> 
    <Site name="Web" physicalDirectory="D:\@code\Web"> 
    <VirtualApplication name="API" physicalDirectory="D:\@code\API"></VirtualApplication> 
    <Bindings> 
     <Binding name="Endpoint1" endpointName="Endpoint1" /> 
     <Binding name="Endpoint2" endpointName="Https" /> 
    </Bindings> 
    </Site> 
</Sites> 

两个应用程序的部署和虚拟机应用中创建,但是我不能让API应用程序来运行。我打开服务器并环顾四周。 API项目没有被编译,基本上所有的.cs文件都在siteroot的根目录下> 1

有没有需要额外的步骤来解决这个问题?

任何援助将是非常棒的。

回答

1

只有WebRole项目(..Site name='Web'...)被“编译”。

您定义的所有网站,包括虚拟应用程序都只是被复制。因此,您需要将physicalDirectory指向本地部署/编译的应用程序文件夹。例如,您可以为部署到本地文件系统的API项目创建一个发布配置文件。然后在VirtualApplication定义中为physicalDirectory指定该部署的目标文件夹。

有一些文件here。但是,它并没有明确提到它可以在WebSite项目中使用,而不是Web应用程序项目!它将适用于开箱即用的WebSite项目,因为WebSite项目的部署模型仅为xcopy deployment

显然现在做网站项目的人很少。我们大多数人做Web应用程序项目。因此,对于Web应用程序,我们不能将physicalDirectory指向项目文件夹,而是指向该项目的部署文件夹。

如果有人感到困惑 - 这里的官方文档Web Application Projects versus Web Site Projects