Asp.net

在 Windows Azure 項目 SDK 1.8 中找不到虛擬路徑的物理目錄

  • October 16, 2014

我已將 Windows Azure SDK 從 V1.7 升級到 V1.8

在升級之前我的配置部分是

<Site name="Web">
   <VirtualApplication name="MyprojectService"        physicalDirectory="../../Myproject.Hosts.WebHost" />
</Site>

SDK升級後

我收到以下錯誤。

錯誤 1 找不到虛擬路徑 Web/MyprojectService/ 的物理目錄 ‘D:\Projects\Myproject\branches\Release_092012\Hosts\Myproject.Hosts.AzureHost\MyprojectAzureHost\Myproject.Hosts.WebHost’。D:\Projects\Myproject\branches\Release_092012\Hosts\Myproject.Hosts.AzureHost\MyprojectAzureHost\bin\Release\ServiceDefinition.csdef 1 1 MyprojectAzureHost

我已經瀏覽了Azure Service.Csdef連結。我將“../”附加到路徑:

<Site name="Web">
   <VirtualApplication name="MyprojectService"        physicalDirectory="../../../Myproject.Hosts.WebHost" />
</Site>

但是當我製作一個包時,它會自動刪除,我一次又一次地收到上述錯誤。

我也試過把完整路徑“D:/Projects/../Myproject.Hosts.WebHost”但是沒有鎖。

它在 SDK 1.7 中完美執行。但不適用於 SDK 1.8

我將嘗試解釋兩個最新的 Windows Azure SDK(通過使用相同的範例應用程序)之間的變化,如下所示,因此請查看每種情況以及錯誤消息中顯示的路徑:

在以前的 SDK 中,虛擬目錄源在項目的根目錄中設置為預設值,但現在在最新的 SDK 中,虛擬目錄源設置在項目輸出目錄中,您可以在下面的案例 #1 中看到。

案例一:(失敗)

<VirtualApplication name="MyWeb" physicalDirectory="MvcWebRole1">

Error: Cannot find the physical directory 
   'C:\Users\avkashc\Documents\Visual Studio 2012\Projects\WindowsAzure2012\WindowsAzure2012\bin\Release\MvcWebRole1' for virtual path Web/MyWeb/.

案例2:(失敗)

<VirtualApplication name="MyWeb"  physicalDirectory="..\MvcWebRole1">

Error: Cannot find the physical directory 'C:\Users\avkashc\Documents\Visual Studio 2012\Projects\WindowsAzure2012\WindowsAzure2012\bin\MvcWebRole1' for virtual path Web/MyWeb/.

案例3:(失敗)

<VirtualApplication name="MyWeb"  physicalDirectory="..\..\MvcWebRole1">

Error: Cannot find the physical directory 'C:\Users\avkashc\Documents\Visual Studio 2012\Projects\WindowsAzure2012\WindowsAzure2012\MvcWebRole1' for virtual path Web/MyWeb/.

案例4:(成功)

<VirtualApplication name="MyWeb"
                    physicalDirectory="..\..\..\MvcWebRole1">

因為上面的案例#4 文件夾設置確實與我的實際 MvcWebRole1 文件夾結構(見下文)匹配,這就是為什麼“……\”設置在我的“PhysicalDirectory”設置中有效。

您需要從作為源的 release* 瀏覽您的文件夾結構,然後一直回溯到它存在的位置,然後組裝完整路徑。

在此處輸入圖像描述

引用自:https://stackoverflow.com/questions/13417679