ACL was altered after using VS web deploy

Authoring Tools > Visual Studio 2010/2012
In some cases you may find that after publishing a project using Web Deploy the ASPNet IUSR cannot write to the root directory or any files within it (except App_Data)

By default Web Deploy sets the ACL of the ASPNet IUSR to read only.  To prevent this from causing problems when you publish your application, you will need to locate the project file and make some changes.  The project file will end with the extension .vbproj for applications written in Visual Basic or .csproj for applications written in C#.  In the project file find:

 
<propertygroup condition=" '$(Configuration)|$(Platform)' ==
'Release|AnyCPU' "></propertygroup>

and change it to:
 
<propertygroup condition=" '$(Configuration)|$(Platform)' ==
'Release|AnyCPU' ">
<includesetaclproviderondestination>False</includesetaclproviderondestination></propertygroup>

This will ensure that ACL is not modified by Web Deploy.

If you have already used Web Deploy to publish your site, please click on the 'Fix ACL' button in your control panel -> IIS Manager -> VS Webdeploy to reset your ACL to default.