9

Recentemente ho cambiato computer e copiato tutti i miei progetti nella mia nuova unità locale. Ho riformattato il computer su cui sono ora, quindi era praticamente una macchina pulita. Tutto sembrava funzionare bene, ma quando ho aperto uno dei miei progetti che avevo eseguito dalla mia vecchia macchina, non sarebbe più stato compilato e ho ricevuto il seguente messaggio di errore: Impossibile scrivere sul file di output 'c: \ Utenti \ utente \ Documenti \ Progetti \ RegressionWeb \ OnetouchUpload \ obj \ debug \ OneTouchUpload.dll '-' Accesso negato. 'Impossibile scrivere sul file di output - Accesso negato

Ricevo un errore del genere per ogni progetto che ho nella mia soluzione. Sto ottenendo anche questo errore: Errore inaspettato durante la creazione di file di informazioni di debug 'c: \ Utenti \ utente \ documenti \ progetti \ RegressionWeb \ RegressionWeb \ obj \ Debug \ RegressionWeb.PDB' Accesso negato

Ho cercato alto e basso, e gli unici problemi simili che potrei trovare online in particolare in ASP.NET e IIS, nessuno dei quali ha nulla a che fare con il mio progetto (I miei progetti sono librerie di classi di test NUnit per lo più con alcune classi di supporto).

Sono l'amministratore sul mio computer locale. Ho già assunto la proprietà di ogni file nel progetto utilizzando takeown/f. \ RegressionWeb/r/dy e ho anche provato a garantire che nulla avesse uno stato di sola lettura, ma il seguente file ha generato un errore quando ho provato a cambiare la lettura proprietà -solo della sua cartella principale: si è verificato un errore per applicare gli attributi al file: C: ... \ Regressionweb.sln.DotSettings.user Accesso negato

Fondamentalmente questo progetto è stato perfettamente funzionante e non ha avuto errori dal mio vecchio computer. Dopo aver copiato tutto, questo file DotSettings.user non verrà modificato e Visual Studio non potrà scrivere su nessuno dei file dll. Sono sicuro che la risposta deve trovarsi in un ambiente di Visual Studio da qualche parte. Qualsiasi e tutti i suggerimenti sarebbero molto apprezzati.

+0

Hai controllato se il file è di sola lettura? – Botonomous

+0

Sì. Nessuno dei file che causano gli errori ha quell'attributo impostato. La directory madre sembra ma nessuno dei bambini, e quando provo a cambiarlo, quello che descrivo nel 4 ° paragrafo succede –

+0

E le autorizzazioni? Hai confermato di aver letto/scritto? – Botonomous

risposta

10

Penso che Karl abbia ragione. Ho avuto una situazione simile una volta, e quello che ho fatto è stato eliminare il file in questione, pulire la soluzione e quindi ricostruire. Se il progetto ha bisogno di quel file, dovrebbe ricrearlo; nel mio caso non ne ha avuto bisogno perché non l'ha mai ricreato, ma il progetto ha funzionato bene.

Un'altra cosa che consiglierei; è possibile che si stia selezionando l'attributo di sola lettura della cartella principale e selezionando questa impostazione per eseguire il richiamo attraverso tutte le sottocartelle e i file, ma ciò non significa che ciò che sta accadendo. Per tutte le sottocartelle e i file (in particolare quelli che vengono visualizzati come errori) ispezionarli singolarmente e assicurarsi che l'attributo di sola lettura sia disattivato.

+0

Cancellare il file (s) in questione, pulire la soluzione, e la ricostruzione è esattamente ciò che ha funzionato per me. – davidpm4

1

I miei soldi sono nei tuoi file di sola lettura. Verificare che siano di sola lettura e modificarli o aggiungere i file a un sistema di controllo del codice sorgente e lasciarli gestire da questo.

+0

Avrebbe senso, come ho detto che la cartella padre ha la lettura solo attributo impostato, ma quando lo cambio e seleziono apply, ottengo un file che genera questo errore: Si è verificato un errore durante l'applicazione degli attributi al file: C: ... \ Regressionweb.sln.DotSettings.user Accesso negato che Ignoro, ma poi quando controllo la cartella genitore, l'attributo di sola lettura è ancora impostato –

0

Sono riuscito a farlo funzionare chiudendo Visual Studio e quindi aprendolo di nuovo, ma facendo attenzione a eseguire Visual Studio "Come amministratore". Per fare ciò, dal menu Start, fai clic con il tasto destro su Visual Studio e scegli "Esegui come amministratore".

3

sembra che talvolta venga visualizzato lo stesso errore quando l'utente del pool di applicazioni non ha accesso alla cartella% TMP% /% TEMP%.

È necessario consentire a IIS_IUSRS di leggere e modificare l'accesso sulla cartella temporanea dell'utente in cui il pool di applicazioni è in esecuzione.

Questa potrebbe essere la cartella temporanea nel profilo dell'utente del pool di app, ad es. c: \ Windows \ ServiceProfiles \ NetworkService \ AppData \ Local \ Temp o la cartella Temp di sistema in c: \ windows \ temp.