2012-11-16 3 views
16

Ich habe ein Upgrade von Windows Azure SDK von V1.7 zu V1.8Kann nicht das physische Verzeichnis für den virtuellen Pfad finden, in Windows Azure Projekt SDK 1.8

Vor Upgradation Teil meiner Config war

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

Nach der Aufrüstung von SDK

Ich bekomme folgenden Fehler.

Fehler 1 können nicht das physikalische Verzeichnis 'D: \ Projects \ Myproject \ Zweige \ Release_092012 \ Hosts \ Myproject.Hosts.AzureHost \ zu \ Myproject.Hosts.WebHost' gefunden für virtuellen Pfad Web/MyprojectService /. D: \ Projects \ Myproject \ Zweige \ Release_092012 \ Hosts \ Myproject.Hosts.AzureHost \ MyprojectAzureHost \ bin \ Release \ ServiceDefinition.csdef 1 1 MyprojectAzureHost

Ich habe über den Link Azure Service.Csdef gegangen. und ich hängten“../"to den Weg:

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

, aber wenn ich ein Paket machen wird es automatisch entfernt zu werden, und ich bin den obigen Fehler immer wieder zu bekommen.

Ich habe auch versucht, den vollständigen Pfad "D:/Projects /../ Myproject.Hosts.WebHost", aber keine Sperre.

Es funktionierte perfekt in SDK 1.7. aber ich arbeite nicht in SDK 1.8

+0

"Wenn ich ein Paket mache, wird es automatisch entfernt" - was meinst du damit? Was passiert genau? Das Problem, den Pfad zu '../../../' zu ändern, funktioniert gut für mich. – JcFx

+0

@JcFx Ich verwende WebDeveloper 2011 Express. Nachdem ich im Azure-Projekt auf die Paketoption geklickt habe, habe ich ein Nachrichtenfenster mit ** "Die Datei wurde außerhalb des Quelleditors geändert. Willst du sie neu laden?" ** Dilogue. – sudhAnsu63

+0

Sie haben tatsächlich '..' zum Pfad 'vorangestellt'. Nicht angehängt. – Sam

Antwort

17

Ich werde versuchen, die Änderungen zwischen zwei neuesten Windows Azure SDK (mit der gleichen Beispiel-App) wie unten zu erklären, so sehen Sie sich bitte jeden Fall und den Pfad in der Fehlermeldung angezeigt:

Im vorherigen SDK wurde die Quelle des virtuellen Verzeichnisses als Standard im Stammverzeichnis des Projekts festgelegt. Im aktuellen SDK ist die Quelle des virtuellen Verzeichnisses jedoch auf das Projektausgabeverzeichnis eingestellt, das Sie in Fall 1 unten sehen können.

Fall 1: (fehlgeschlagen)

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

Fall 2: (fehlgeschlagen)

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

Fall 3: (fehlgeschlagen)

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

Fall 4: (Erfolg)

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

Weil oben die Ordnereinstellung von # 4 mit meiner tatsächlichen MvcWebRole1-Ordnerstruktur übereinstimmt (siehe unten), funktioniert die Einstellung "......" in meiner "PhysicalDirectory" -Einstellung.

Sie müssten durch Ihre Ordnerstruktur von Release * als Ihre Quelle gehen und dann zurückverfolgen, wo immer es existiert und dann den vollständigen Pfad zusammenstellen.

enter image description here

+0

Ich gab auch den Pfad Schreibpfad, aber es wurde wegen einer ungültigen Referenz geändert. Jetzt funktioniert es. – sudhAnsu63

+0

Funktioniert für einen Build auf einem Dev Workstation, aber nicht auf TFS ... – Guillaume

3

sudhAnsu63, Sorry dies verursacht Sie Probleme.

Beim Aktualisieren eines Projekts mit relativen Pfaden im csdef (wie hier) auf das 1.8 SDK sollten Sie die Warnung unten im Upgradeprotokoll über die Änderung des relativen Pfads sehen. Diese spezielle Änderung wurde vorgenommen, um parallele Builds besser zu unterstützen.

Das Attribut physicalDirectory des Site-Elements enthält einen relativen Pfad. Dieser Pfad ist relativ zu dem Verzeichnis, in dem sich die Ziel-Servicedefinitionsdatei befindet, wenn sie gepackt wird. In früheren Versionen befand sich diese Datei im Stammprojektverzeichnis. In dieser Version befindet sich diese Datei standardmäßig im Projektausgabeverzeichnis. Möglicherweise müssen Sie den relativen Pfad aktualisieren, um den neuen Speicherort der Zieldienstdefinitionsdatei widerzuspiegeln.

+0

es funktioniert jetzt. Ich habe den erforderlichen Pfad angegeben, aber das wurde aus irgendeinem Grund geändert. Ich habe Tracing in der Systemsteuerung aktiviert und debuggte danach wurde es automatisch behoben. – sudhAnsu63

Verwandte Themen