16

I have upgraded windows Azure SDK from V1.7 to V1.8

Before Upgradation part of my config was

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

After Upgradation of SDK

I am getting following Error.

Error 1 Cannot find the physical directory 'D:\Projects\Myproject\branches\Release_092012\Hosts\Myproject.Hosts.AzureHost\MyprojectAzureHost\Myproject.Hosts.WebHost' for virtual path Web/MyprojectService/. D:\Projects\Myproject\branches\Release_092012\Hosts\Myproject.Hosts.AzureHost\MyprojectAzureHost\bin\Release\ServiceDefinition.csdef 1 1 MyprojectAzureHost

i have gone through the link Azure Service.Csdef. and I appended "../"to the path:

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

but when i make a package it is getting removed automatically and i am getting the above error again and again.

I have also tried putting the Complete path "D:/Projects/../Myproject.Hosts.WebHost" but no lock.

It was perfectly working in SDK 1.7. but not working in SDK 1.8

Community
  • 1
  • 1
sudhansu63
  • 6,025
  • 4
  • 39
  • 52
  • "when i make a package it is getting removed automatically" - what do you mean by this? what happens exactly? The fix of changing the path to `../../../` works well for me. – Jude Fisher Nov 16 '12 at 16:44
  • @JcFx I am using WebDeveloper 2011 Express.After i click package option in the Azure project i got a message window showing **"The File Has been modified outside the source editer. do you want to reload it ?"** dilogue. – sudhansu63 Nov 19 '12 at 05:18
  • You actually 'prepended' ..\ to the path. Not 'appended'. – Sam Jan 15 '15 at 00:43

2 Answers2

17

I will try to explain the changes in between two latest Windows Azure SDK (by using same sample app) as below so please have a look at each case and the path shown in the error message:

In previous SDK the virtual directory source was set to default at the root of the project however now in latest SDK the virtual directory source is set at project output directory which you can see in Case #1 below.

Case 1: (Failed)

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

Case 2: (Failed)

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

Case 3: (Failed)

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

Case 4: (Success)

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

Because above case #4 folder setting does match with my actual MvcWebRole1 folder structure (seen below) at thats why "......\" setting does work in my "PhysicalDirectory" setting.

You would need to walk through your folder structure from release* as your source and then back track all the way where ever it exist and then assemble the full path.

enter image description here

AvkashChauhan
  • 20,495
  • 3
  • 34
  • 65
  • i was also giving the path write path, but it was getting changed due to some invalid reference. Now it is working. – sudhansu63 Nov 22 '12 at 15:23
3

sudhAnsu63, Sorry this caused you trouble.

When upgrading a project that has relative paths in the csdef (as is the case here) to the 1.8 SDK you should see the warning below in the upgrade log about the change in relative path. This specific change was made to better support parallel builds.

The physicalDirectory attribute of the Site element contains a relative path. This path is relative to the directory in which the target Service Definition file resides when packaged. In previous versions this file was located within the root project directory. In this version, by default, this file is located in the project output directory. You may need to update the relative path to reflect the new location of the target Service Definition file.

  • it is working now. i have given the required path but that was getting modified for some reason. i enabled tracing in control panel and debugged after that it was fixed automatically. – sudhansu63 Dec 13 '12 at 14:20