2010-09-02 11 views
17

Je suis récemment passé d'une machine Windows XP à Windows 7. J'utilise Subversion et TortoiseSVN.La publication de Visual Studio a échoué: "Impossible de supprimer le fichier ... L'accès au chemin ... est refusé."

Je ne peux pas publier mon application .NET dans Visual Studio. Je reçois plus de mille erreurs comme celle-ci:

Impossible de supprimer le fichier "obj \ Debug \ Package \ PackageTmp \ Views \ ViewName.svn \ base de texte \ ActionName.aspx.svn-base". Accès au chemin 'C: \ Code \ NomProjet \ NomProjet \ obj \ Debug \ Package \ PackageTmp \ Views \ NomVue.svn \ text-base \ NomApitre.aspx.svn-base' est refusé.

Visual Studio: "Publish failed"

Pourquoi Subversion me envoie du mal? Comment je le répare?


J'ai désactivé l'indexation de mes dossiers bin et obj. Mais, cela n'a pas fonctionné.

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

+1

J'ai rencontré les mêmes messages d'erreur, mais pour une raison différente. Je faisais une modification à un projet WCF, et à un moment donné dans le passé, j'avais installé l'exécutable dans le dossier de débogage comme un service Windows, qui était toujours en cours d'exécution. – Sean

+0

Et puisque vous utilisez Win7, regardez aussi [cet article] (http://subversion.wandisco.com/component/content/article/1/37.html) ici. – Stefan

Répondre

28

J'ai remarqué que mes dossiers ont été en lecture seule. J'ai changé ça.

Cela a fonctionné! Publier réussi.

Folder Properties Read-only

+1

AFAIK Just a été un problème de permission, Essayez de définir des autorisations élevées sur les dossiers partagés, mais les machines de ciblage, car sinon vous ne pouvez pas utiliser les utilisateurs –

+1

J'ai eu ce problème et ce fut le correctif pour moi. Ce n'était pas sur l'ordinateur que les fichiers avaient été créés, mais sur ceux qui avaient fait le plein du projet. – BarrettJ

+0

Corrigé pour moi aussi, je me demande pourquoi ils n'ont été lus que par défaut. – BigOmega

2

La cause la plus probable est un problème d'autorisations. Dans tous les cas, le chemin en question a été créé pendant que vous étiez en cours d'exécution avec des autorisations élevées et nécessite donc des autorisations d'administrateur à supprimer. Essayez d'exécuter Visual Studio en tant qu'administrateur et de voir si le problème disparaît.

Si oui, alors la meilleure solution est de faire ce qui suit

  1. Enregistrez les modifications dans ce répertoire (vérifiez si nécessaire)
  2. Supprimer le dépôt
  3. Revérifier le référentiel et d'assurer vous ne courez pas en tant qu'administrateur lorsque vous le faites
+0

Merci. J'ai essayé d'exécuter Visual Studio en tant qu'administrateur. Mais, cela n'a pas fonctionné. –

+0

Merci. J'ai recréé le dossier frais du serveur Subversion. Mais, cela n'a pas fonctionné. –

+1

@Zack, alors que cela suggère quelque chose a le fichier ouvert avec des autorisations non partageables. Essayez d'utiliser handle.exe pour voir qui le maintient ouvert. – JaredPar

4

Je crois que votre problème est lié aux autorisations par défaut assignées au lecteur C: dans Windows 7 (et Vista).

  1. Ouvrez l'explorateur et trouver le dossier c: \ code
  2. Faites un clic droit sur le dossier c: \ code et sélectionnez Propriétés
  3. sélectionnez l'onglet Sécurité
  4. sélectionnez l'ID utilisateur "Utilisateurs"
  5. Dans la zone autorisations, cochez la case permet "Modify"
  6. Sélectionnez OK, OK jusqu'à ce que permision dialogue boîtes à proximité

Cela devrait résoudre le problème de l'autorisation

+0

Merci. J'ai changé les paramètres du dossier. Mais, cela n'a pas fonctionné. –

2

J'ai eu ce même problème, et aucune des solutions précédentes travaillé. Ce qui a fonctionné pour moi était de prendre les dossiers bin et obj hors du référentiel. Après cela, j'ai été capable de publier.

1

Qu'est-ce qui fonctionne réellement est la solution que Zack Peterson a donné? Merci Zack!

J'écris une application qui supprimera automatiquement tous les dossiers et fichiers .SVN pendant le déploiement. Ce faisant, j'ai eu la même erreur que celle décrite ci-dessus.

  • Une fois que je l'ai changé le dossier à PAS être Lecture seule, j'ai pu supprimer des fichiers et des dossiers par programme.
  • L'étape suivante consiste à définir l'attribut par programmation sur NOT Read Only seulement afin que je puisse accomplir l'installation entière avec le clic d'un bouton.
1

Je viens de supprimer les dossiers existants à la destination de publication, ce qui a ensuite permis à la publication de fonctionner. La désactivation en lecture seule n'a pas semblé fonctionner. (Je ne sais pas pourquoi cela a commencé à se produire).

1

Assez bizarrement, j'ai essayé de construire un ancien projet avec Visual Studio 2010. Il m'a donné l'erreur qu'il a échoué en raison de mon accès refusé. J'ai essayé d'enlever le read-only du répertoire et n'ai eu aucune chance. Bien que, quand je l'ai ouvert dans Visual Studio 2015, il m'a donné l'erreur que mon certificat a expiré. Lors de la création d'un nouveau certificat et de la reconstruction, tout s'est bien passé.

0

Si l'accès à un dossier spécifique vous est refusé, il est utilisé par une autre application. Vérifiez si une autre application utilise ce chemin pour référencer ce dossier de n'importe quel fichier de ce dossier. Dans mon cas, mon application faisait référence à un fichier dans le dossier bin. Donc, chaque fois que je publie et supprime l'ancien. erreur sera jeté que le dossier bin ne peut pas être supprimé. accès refusé. je suis allé dans ma demande. vérifié dans le chemin réfréné de chaque DLL, supprimé ceux qui référencent le chemin de publication et BOOM Problème résolu.

0

Pour moi, le service Windows fonctionnait en arrière-plan. fermer le service du gestionnaire de tâches et reconstruire le projet a fait le travail pour moi.