7

Controllare l'errore ASP.NET di UnauthorizedAccessException.Accesso negato alla directory Temp.NET ASP.NET

Access to the path 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\8909a2b1\8566823\Nop.Plugin.Feed.Froogle.dll' is denied. 

L'errore si è verificato da quando ho cambiato il sito web per essere ospitato con VS 2010 IIS dal mio macchine IIS. La mia soluzione ha funzionato in precedenza in IIS 2010 VS come sono passato da VS IIS a Machine IIS nuovamente a VS ISS.

Il mio problema si verifica quando copio dll nella directory temporanea.

File.Copy(... 

Ho provato i vari permessi sulla directory e nulla ha aiutato. Ho anche eseguito il comando aspnet_regiis -i nella speranza che ripristinasse le autorizzazioni desiderate nella directory temp.

Non ho alcun problema se elimino la directory "../Temporary ASP.NET", si verifica solo quando provo a sostituire i file esistenti.

File.Copy("source", "c:\windows\microsoft.net\framework\v4\temporary asp.net files\...\###.dll", true); 

Qualsiasi aiuto sarebbe apprezzato. Grazie,

+0

vedere http://stackoverflow.com/questions/917446/frequent-access-denied-to -temporary-asp-net-files –

risposta

5

Ho appena trascorso ore a risolvere questo stesso problema. Nel mio caso le DLL provenivano da una soluzione che è stata archiviata in SourceSafe e quando sono state copiate nella cartella temporanea sono state contrassegnate come ReadOnly. Una volta rimosso l'attributo ReadOnly il problema è andato via ...

2

Non hai menzionato quale versione di IIS stavi eseguendo. Ma puoi usare FileMon o ProcessMon per determinare a quale utente e risorsa viene negato.

+1

Stava usando VS 2010 Development Server. IIS 6.1 su Windows 7. completamente bloccato su questo. Il problema ora si verifica su entrambi i server. – Christo

+3

Grazie. Ho provato altri suggerimenti per questo problema senza alcun risultato. Con ProcessMon è diventato banalmente facile trovare il problema. –

+2

@JohnRobertson quindi qual è stata la soluzione? – spuder

1

Con la rappresentazione coinvolta, questo può essere complicato. Controlla il tuo web.config per qualcosa di simile

<identity impersonate="true" ... 

L'utente che viene impersonato ha bisogno anche il permesso di cartelle Temp. Ho dovuto riavviare, eliminare le cartelle temporanee e riavviare di nuovo fino a quando non ha finalmente preso le mie modifiche e compilato senza questo errore ...