Under IIS7.5 after switching pool identity to domain user I got this error:

"The current identity (domain\username) does not have write access to 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files'."

I could grant the user rights to this specific directory, but I wonder if there is a better solution. Ideally I would like to configure this "Temporary ASP.NET Files" directory to be stored in some other location.

  • I have also received the error message when accidentally trying to run a .Net 3.5 web service app on a (default) .Net 2.0 app pool; switching to a .Net 4.0 app pool solved that. – Tor Iver Wilhelmsen May 31 '13 at 8:41

You can change the default location on a per website/application basis by editing the Configuration section of the Web.config file.

  <compilation tempDirectory="D:\MyTempFiles" />

The application will re-compile and the files will be stored at this new location, after which you can safely remove the old folders. Note that the folder names will stay the same; e.g. if the old location was:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\9878g103\e67805p7

then the new one will be:

  • 7
    Thanks a lot ShaneH for your answer. The change that you mentioned need not be on a per website/application basis. You can apply that change on a framework version basis by changing the framework's web.config file, for example: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config. By doing this you impact all the websites that are targeting that version of the framework. – Silviu Aug 20 '14 at 13:00
  • 4
    Just to note, this belongs in the system.web section of the web.config – CoderTao Apr 3 '15 at 16:39
  • @Silviu Just a warning: if you have a lot of webs on the server, it could take minutes to perform the compilation(s) – splattne Apr 17 '15 at 13:44
  • I added this section to machine.config. It works. – Evgeni Nabokov May 4 '17 at 19:30

protected by Community Aug 26 '14 at 1:53

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.