web-dev-qa-db-fra.com

Impossible d'écrire dans le fichier de sortie - Accès refusé

J'ai récemment changé d'ordinateur et copié tous mes projets sur mon nouveau disque local. J'ai reformaté l'ordinateur sur lequel je suis maintenant, donc c'était plutôt une machine propre. Tout semblait bien fonctionner, mais lorsque j'ai ouvert l'un de mes projets que j'avais exécuté à partir de mon ancien ordinateur, la compilation a été terminée et le message d'erreur suivant s'affiche: Impossible d'écrire dans le fichier de sortie 'c:\Utilisateurs\utilisateur\Documents\Projets\RegressionWeb\OnetouchUpload\obj\debug\OneTouchUpload.dll' - 'L'accès est refusé.'

Je reçois une erreur comme celle-ci pour chaque projet de ma solution. J'obtiens également l'erreur suivante: Erreur inattendue lors de la création du fichier d'informations de débogage 'c:\Utilisateurs\utilisateur\documents\projets\RegressionWeb\RegressionWeb\obj\Debug\RegressionWeb.PDB' L'accès est refusé

J'ai cherché haut et bas, et les seuls problèmes similaires que je pouvais trouver en ligne concernaient spécifiquement ASP.NET et IIS, aucun d'entre eux n'ayant rien à voir avec mon projet (mes projets sont des bibliothèques de classes composées principalement de tests NUnit avec certaines classes de support. ).

Je suis l'administrateur sur mon ordinateur local. J'ai déjà pris possession de chaque fichier du projet à l'aide de takeown/f.\RegressionWeb/r/dy et j'ai également essayé de m'assurer que rien n'avait le statut Lecture seule, mais le fichier suivant a généré une erreur lorsque j'ai essayé de modifier la lecture. -only propriété de son dossier parent: Une erreur est survenue lors de l'application d'attributs au fichier: C: ...\Regressionweb.sln.DotSettings.user L'accès est refusé.

Fondamentalement, ce projet fonctionnait parfaitement et ne contenait aucune erreur de mon ancien ordinateur. Après avoir tout copié, ce fichier DotSettings.user ne sera pas modifié et Visual Studio ne pourra écrire dans aucun fichier dll. Je suis sûr que la réponse doit se situer quelque part dans un paramètre Visual Studio. Toutes les suggestions seraient grandement appréciées.

11
Darian Everett

Je pense que Karl a raison. J'ai eu une situation similaire une fois, et ce que j'ai fait a été de supprimer le fichier en question, de nettoyer la solution, puis de reconstruire. Si le projet a besoin de ce fichier, il doit le recréer. dans mon cas, il n'en avait pas besoin car il ne l'a jamais recréé, mais le projet a bien fonctionné.

Une autre chose que je recommanderais; vous pouvez éventuellement sélectionner l'attribut en lecture seule du dossier parent et sélectionner ce paramètre pour afficher tous les sous-dossiers et fichiers, mais cela ne veut pas dire que c'est ce qui se passe. Pour tous vos sous-dossiers et fichiers (en particulier ceux qui se présentent comme des erreurs), inspectez chacun individuellement et assurez-vous que l'attribut en lecture seule est désactivé. 

11
Jacob Smart

il semble que la même erreur soit parfois affichée lorsque l'utilisateur du pool d'applications n'a pas accès au dossier% TMP% /% TEMP%.

Vous devrez accorder à IIS_IUSRS l'accès en lecture et en modification via le dossier temporaire de l'utilisateur sous lequel le pool d'applications s'exécute.

Il peut s'agir du dossier temporaire dans le profil de l'utilisateur du pool d'applications, par exemple. c:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp ou le dossier système temporaire de c:\windows\temp.

3
Arun Sharma

Mon argent est sur vos fichiers sont en lecture seule. Vérifiez qu'ils sont en lecture seule et modifiez-les ou ajoutez vos fichiers à un système de contrôle de code source et laissez-les se faire gérer par cela.

2
Karl Anderson

Voir si elle est liée à ceci: Impossible d'écrire dans le fichier de sortie - L'accès est refusé . Ce serait un peu un idiot à traquer. Dans ce cas, le projet auto-référence la dll et empêche l'accès au fichier.

1
Danexxtone

Je pouvais le faire fonctionner en fermant Visual Studio, puis en l'ouvrant à nouveau, mais en prenant soin de lancer Visual Studio "en tant qu'administrateur". Pour ce faire, dans le menu Démarrer, cliquez avec le bouton droit sur Visual Studio et choisissez "Exécuter en tant qu'administrateur". 

0
DevonTaig