I have just started development for Azure. I have created an Azure project with Asp.net role, but when I try to debug it without making any changes it gives the following er
Check your %UserProfile%\AppData\Local\Temp directory. You should see a couple files there including IISConfigurator.log
For me on SDK v1.6 the path was %UserProfile%\AppData\Local\dftmp\IISConfiguratorLogs\IISConfigurator.log (be careful with the latest SDKs, it looks like they have changed the path) The problem was with the line 'Adding access to users IUSR and NT AUTHORITY\NETWORK SERVICE to path %MyPathOnTheBuildMachine%':
IISConfigurator Information: 0 : [00004816:00000004, 2011/12/08 13:01:51.971] Adding access to users IUSR and NT AUTHORITY\NETWORK SERVICE to path %MyPathOnTheBuildMachine%
IISConfigurator Information: 0 : [00004816:00000004, 2011/12/08 13:01:51.972] Caught exception
IISConfigurator Information: 0 : [00004816:00000004, 2011/12/08 13:01:51.974] Exception:System.InvalidOperationException: Method failed with unexpected error code 3.
at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections)
at System.IO.DirectoryInfo.GetAccessControl(AccessControlSections includeSections)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAceIterative(DirectoryInfo dir, FileSystemRights rights, IdentityReference[] accounts)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAce(DirectoryInfo dir, FileSystemRights rights, Boolean inherit, IdentityReference[] accounts)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.Security.AddAppPoolSidAceToVdir(String appPoolName, String sitePath, String appPoolSid)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.IISConfigurator.Deploy(String roleId, WebAppModel appModel, String roleRootDirectory, String sitesDestinationDirectory, String diagnosticsRootFolder, String roleGuid, Dictionary`2 globalEnvironment)
It turned out that I packaged (cspack) my solution on one machine, but tried to run it (csrun) on the other one. So it tried to give the rights to the directory that exist on one machine, but doesn't exist on the other one.
So many sure you cspack and csrun your code on the same machine (which might not be the case when you do automated build&deploy for example).
Check your %UserProfile%\AppData\Local\Temp directory. You should see a couple files there including IISConfigurator.log and Visual Studio Web Debugger.log. See what those files tell you.
Update: later SDKs have them at %UserProfile%\AppData\Local\dftmp\IISConfiguratorLogs\