2013-04-05 63 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