2012-11-16 9 views
16

Mam zmodernizowane Windows Azure SDK v1.7 do V1.8Nie można znaleźć katalogu fizycznego dla ścieżki wirtualnej, Windows Azure SDK 1.8 projektu

Przed Upgradation część mojego config był

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

Po uaktualnieniu pakietu SDK

Otrzymuję następujący komunikat o błędzie.

Błąd 1 nie można odnaleźć katalog fizyczny 'D: \ Projects \ myproject \ oddziałów \ Release_092012 \ hosts \ Myproject.Hosts.AzureHost \ MyprojectAzureHost \ Myproject.Hosts.WebHost' do ścieżki wirtualnej Web/MyprojectService /. D: \ Projects \ myproject \ oddziałów \ Release_092012 \ Hosts \ Myproject.Hosts.AzureHost \ MyprojectAzureHost \ bin \ Release \ ServiceDefinition.csdef 1 1 MyprojectAzureHost

I już przez link Azure Service.Csdef. i dołączany”../"to ścieżkę:

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

ale kiedy zrobić pakiet jest uzyskiwanie usuwane automatycznie i jestem znowu i znowu się powyższy błąd.

Próbowałem również umieścić pełną ścieżkę "D:/Projects /../ Myproject.Hosts.WebHost", ale bez blokady.

Doskonale działał w SDK 1.7. ale nie działa w SDK 1.8

+0

"Kiedy robię paczkę, jest ona automatycznie usuwana" - co masz na myśli? co się dokładnie dzieje? Naprawienie zmiany ścieżki na '../../../' działa dobrze dla mnie. – JcFx

+0

@JcFx Używam WebDeveloper 2011 Express. Po kliknięciu opcji pakietu w projekcie Azure otrzymałem okno z komunikatem ** "Plik został zmodyfikowany poza edytorem źródłowym. Czy chcesz go ponownie załadować?" **. – sudhAnsu63

+0

Właściwie "przedawnione" ... \ do ścieżki. Nie "dołączony". – Sam

Odpowiedz

17

Postaram się wyjaśnić zmiany pomiędzy dwoma najnowszymi pakietami SDK systemu Windows Azure (przy użyciu tej samej przykładowej aplikacji) jak poniżej, więc proszę spojrzeć na każdy przypadek i ścieżkę pokazaną w komunikacie o błędzie:

W poprzednim pakiecie SDK źródło katalogu wirtualnego zostało ustawione na domyślne w katalogu głównym projektu, ale teraz w najnowszym zestawie SDK źródło katalogu wirtualnego jest ustawione w katalogu wyjściowym projektu, co można zobaczyć w Przypadku 1 poniżej.

Przykład 1: (niepowodzenie)

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

Przypadek 2: (niepowodzenie)

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

Przykład 3: (niepowodzenie)

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

Przykład 4: (sukces)

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

Ponieważ powyższe ustawienie folderu # 4 nie pasuje do mojej aktualnej struktury folderów MvcWebRole1 (patrz poniżej), dlaczego ustawienie "...... \" działa w moim ustawieniu "PhysicalDirectory".

Musisz przejść przez strukturę folderów z wydania * jako źródła, a następnie powrócić do miejsca, w którym istnieje, a następnie złożyć pełną ścieżkę.

enter image description here

+0

Podawałem ścieżkę zapisu ścieżki, ale była ona zmieniana ze względu na nieprawidłowe odwołanie. Teraz działa. – sudhAnsu63

+0

Działa dla kompilacji na stacji roboczej dev, ale nie na TFS ... – Guillaume

3

sudhAnsu63, Niestety to spowodowało kłopoty.

Podczas aktualizacji projektu, który ma względne ścieżki w pliku csdef (tak jak w tym przypadku) do 1.8 SDK, w dzienniku uaktualnień powinno pojawić się ostrzeżenie o zmianie ścieżki względnej. Ta konkretna zmiana została wprowadzona, aby lepiej wspierać równoległe kompilacje.

Atrybut physicalDirectory elementu Site zawiera względną ścieżkę. Ta ścieżka jest względna do katalogu, w którym znajduje się docelowy plik definicji usługi po jego zapakowaniu. W poprzednich wersjach plik ten znajdował się w głównym katalogu projektu. W tej wersji domyślnie ten plik znajduje się w katalogu wyjściowym projektu. Może być konieczne zaktualizowanie względnej ścieżki w celu odzwierciedlenia nowej lokalizacji docelowego pliku definicji usługi.

+0

to działa. Podałem wymaganą ścieżkę, ale z jakiegoś powodu to się zmieniało. włączałem śledzenie w panelu sterowania i debugowałem po tym, jak zostało ono naprawione automatycznie. – sudhAnsu63

Powiązane problemy