2010-09-02 63 views
17

Sono passato da una macchina Windows XP a Windows 7. Uso Subversion e TortoiseSVN.Visual Studio Publish non riuscito: "Impossibile eliminare il file ... L'accesso al percorso ... è negato."

Non riesco a pubblicare la mia applicazione .NET in Visual Studio. Ottengo oltre un migliaio di errori come questo:

Impossibile eliminare il file "obj \ Debug \ Package \ PackageTmp \ Visualizzazioni \ ViewName.svn \ testo-base \ ActionName.aspx.svn-base". Accesso al percorso 'C: \ Code \ SolutionName \ ProjectName \ obj \ Debug \ Package \ PackageTmp \ Views \ ViewName.svn \ text-base \ ActionName.aspx.svn-base' negato.

Visual Studio: "Publish failed"

Perché Subversion mi dà fastidio? Come lo aggiusto?


Ho disabilitato l'indicizzazione del file del mio cestino e cartelle obj. Ma quello non ha funzionato.

Allow files in this folder to have contents indexed in addition to file properties

+1

Mi sono imbattuto negli stessi messaggi di errore, ma per un motivo diverso. Stavo apportando una modifica a un progetto WCF e, a un certo punto, in passato avevo installato l'eseguibile nella cartella di debug come servizio di Windows, che era ancora in esecuzione. – Sean

+0

E visto che stai usando Win7, dai anche un'occhiata a [questo articolo] (http://subversion.wandisco.com/component/content/article/1/37.html) qui. – Stefan

risposta

28

ho notato che le mie cartelle erano di sola lettura. L'ho cambiato.

Ha funzionato! Pubblica riuscito.

Folder Properties Read-only

+1

AFAIK Giusto era un problema di autorizzazione, Prova a impostare autorizzazioni elevate su cartelle condivise ma macchine di targeting, altrimenti quando usi utenti non funzionerebbe –

+1

Ho avuto questo problema e questa era la soluzione per me. Non era sul computer i file originati, ma uno che aveva fatto un pieno recupero del progetto. – BarrettJ

+0

Risolto anche per me, mi chiedo perché sono stati letti solo di default. – BigOmega

2

La causa più probabile è un problema di autorizzazioni. In tutte le ipotesi, il percorso in questione è stato creato mentre stavi utilizzando autorizzazioni elevate e quindi richiede autorizzazioni di amministratore da eliminare. Prova a eseguire Visual Studio come amministratore e controlla se il problema scompare.

Se è così allora la soluzione migliore è quella di effettuare le seguenti

  1. Salvare le modifiche a quella directory (check-in, se necessario)
  2. Eliminare il repository
  3. nuovamente controllare il repository e garantire non si esegue come amministratore quando lo fa
+0

Grazie. Ho provato a eseguire Visual Studio come amministratore. Ma quello non ha funzionato. –

+0

Grazie. Ho ricollocato la cartella dal server Subversion. Ma quello non ha funzionato. –

+1

@Zack, quindi questo suggerisce che il file è stato aperto con autorizzazioni non condivisibili. Prova a usare handle.exe per vedere chi lo tiene aperto. – JaredPar

4

Credo che il problema sia correlato alle autorizzazioni predefinite assegnate all'unità C: in Windows 7 (e Vista).

  1. Aprire Esplora risorse e trovare la cartella c: \ code
  2. Fare clic destro sulla cartella c: \ code e selezionare Proprietà
  3. selezionare la scheda di sicurezza
  4. selezionare l'ID utente "Utenti"
  5. Nella casella autorizzazioni, selezionare la casella di "modificare" consentire
  6. Selezionare OK, OK fino dialogo permision scatole vicino

Questo dovrebbe risolvere il problema di autorizzazione

+0

Grazie. Ho cambiato le impostazioni della cartella. Ma quello non ha funzionato. –

2

Ho avuto questo stesso problema, e nessuna delle soluzioni precedenti ha funzionato. Ciò che ha funzionato per me è stato prendere il cestino e le cartelle obj dal repository. Dopo averlo fatto, sono stato in grado di pubblicare.

1

Che cosa effettivamente funziona è la soluzione che Zack Peterson ha dato? Grazie Zack!

Sto scrivendo un'applicazione che rimuoverà automaticamente tutte le cartelle e i file .SVN durante la distribuzione. Mentre lo facevo, ricevevo lo stesso errore come descritto sopra.

  • Una volta ho cambiato la cartella in NON essere Sola lettura, sono stato in grado di eliminare i file e le cartelle di programmazione.
  • Il prossimo passo è impostare l'attributo a livello di programmazione su NOT Read Only in modo che sia possibile eseguire l'intera installazione con un clic di un pulsante.
1

Ho appena eliminato le cartelle esistenti nella destinazione di pubblicazione che ha consentito il funzionamento della pubblicazione. Un-setting di sola lettura non sembra funzionare. (Non sono sicuro del motivo per cui è iniziato a verificarsi).

1

Stranamente, ho provato a creare un vecchio progetto con Visual Studio 2010. Mi ha dato l'errore che non è riuscito a causa del mio accesso negato. Ho provato a rimuovere la cartella di sola lettura dalla directory e non ho avuto fortuna.

Sebbene, quando l'ho aperto in Visual Studio 2015, mi ha dato l'errore che il mio certificato era scaduto.

Dopo aver creato un nuovo certificato e ricostruito, tutto andava bene.

0

Se viene negato l'accesso a una cartella specifica, viene utilizzato da un'altra applicazione. Verificare se qualsiasi altra applicazione utilizza tale percorso per fare riferimento a quella cartella di qualsiasi file in quella cartella. Nel mio caso, la mia applicazione faceva riferimento a un file all'interno della cartella bin. Quindi ogni volta che pubblico e cancelli quello vecchio. verrà generato un errore che la cartella bin non può essere cancellata. accesso negato. sono andato nella mia domanda. controllato nel percorso di ogni dll, rimosso quelli che hanno fatto riferimento al percorso di pubblicazione e risolto il problema BOOM .

0

Per me, il servizio Windows era in esecuzione in background. chiudere il servizio dal task manager e quindi ricostruire il progetto ha fatto il lavoro per me.

Problemi correlati