2012-11-16 12 views
16

Ho aggiornato Windows Azure SDK da V1.7 a V1.8Impossibile trovare la directory fisica per il percorso virtuale, in Windows Azure SDK 1.8 progetto

Prima Upgradation parte del mio config ero

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

Dopo l'aggiornamento dell'SDK

Ho ricevuto l'errore.

di errore 1 Impossibile trovare la directory fisica 'D: \ Projects \ MyProject \ rami \ Release_092012 \ hosts \ Myproject.Hosts.AzureHost \ MyprojectAzureHost \ Myproject.Hosts.WebHost' per percorso virtuale Web/MyprojectService /. D: \ Projects \ MyProject \ rami \ Release_092012 \ hosts \ Myproject.Hosts.AzureHost \ MyprojectAzureHost \ bin \ Release \ ServiceDefinition.csdef 1 1 MyprojectAzureHost

Ho passato con il link Azure Service.Csdef. e ho aggiunti" ../"to il percorso:

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

ma quando faccio un pacchetto sta ottenendo rimosso automaticamente e io sono sempre più e più volte l'errore precedente.

Ho anche provato a inserire il percorso completo "D:/Projects /../ Myproject.Hosts.WebHost" ma nessun blocco.

Funzionava perfettamente nell'SDK 1.7. ma non funziona nell'SDK 1.8

+0

"quando faccio un pacchetto viene rimosso automaticamente" - cosa intendi con questo? cosa succede esattamente? La soluzione per cambiare il percorso in "../../../" funziona bene per me. – JcFx

+0

@JcFx Sto utilizzando WebDeveloper 2011 Express. Dopo aver fatto clic su un'opzione del pacchetto nel progetto di Azure, ho ricevuto una finestra di messaggio che mostra ** "Il file è stato modificato al di fuori dell'editor di origine. Ricaricarlo?" ** dilogue. – sudhAnsu63

+0

Davvero "anteposto" .. \ al percorso. Non "aggiunto". – Sam

risposta

17

Cercherò di spiegare le modifiche tra i due ultimi SDK di Windows Azure (utilizzando la stessa app di esempio) come di seguito, quindi dai un'occhiata ad ogni caso e al percorso mostrato nel messaggio di errore:

Nel precedente SDK l'origine della directory virtuale era impostata come predefinita nella radice del progetto, ma ora nell'ultimo SDK l'origine della directory virtuale è impostata nella directory di output del progetto, che è possibile vedere nel Caso # 1 seguente.

Caso 1: (non riuscito)

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

Caso 2: (non riuscito)

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

Caso 3: (non riuscito)

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

Caso 4: (Success)

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

Perché l'impostazione della cartella del caso n. 4 corrisponde alla mia struttura di cartelle MvcWebRole1 (vista di seguito) a questo perché l'impostazione "...... \" funziona nella mia impostazione "PhysicalDirectory".

Avresti bisogno di camminare attraverso la struttura delle cartelle da rilasciare * come sorgente e quindi tracciare nuovamente tutto il percorso dove mai esiste e quindi assemblare il percorso completo.

enter image description here

+0

stavo anche dando il percorso di scrittura del percorso, ma stava cambiando a causa di qualche riferimento non valido. Ora sta funzionando. – sudhAnsu63

+0

Funziona per una build su una workstation di sviluppo ma non su TFS ... – Guillaume

3

sudhAnsu63, Spiacente, questo ha causato dei guai.

Quando si aggiorna un progetto che ha percorsi relativi nel csdef (come nel caso qui) all'SDK 1.8, nel registro di aggiornamento dovrebbe essere visualizzato l'avviso relativo alla modifica del percorso relativo. Questo specifico cambiamento è stato apportato per supportare meglio le build parallele.

L'attributo physicalDirectory dell'elemento Sito contiene un percorso relativo. Questo percorso è relativo alla directory in cui risiede il file di definizione del servizio di destinazione quando è pacchettizzato. Nelle versioni precedenti questo file si trovava all'interno della directory del progetto root. In questa versione, per impostazione predefinita, questo file si trova nella directory di output del progetto. Potrebbe essere necessario aggiornare il percorso relativo per riflettere la nuova posizione del file di definizione del servizio di destinazione.

+0

funziona ora. ho dato il percorso richiesto ma questo è stato modificato per qualche motivo. ho abilitato la traccia nel pannello di controllo e il debug dopo che è stato corretto automaticamente. – sudhAnsu63

Problemi correlati