1

Whe je tente de compiler mon projet, je reçois cette erreurErreur 1 Impossible de copier le fichier lors de la compilation

Erreur 1 Impossible de copier le fichier « obj \ Debug \ oneForce.pdb » à « bin \ Debug \ oneForce.pdb ". L'accès au chemin 'obj \ Debug \ oneForce.pdb' est refusé. oneForce

Quelqu'un peut-il m'aider sur la façon de le rectifier?

Répondre

1

Merci pour tous ceux qui ont contribué

dans le dossier obj du projet, je rebaptisés le dossier de débogage, la raison étant que j'ai essayé de supprimer, mais les fenêtres ne me laisse pas, estimant que le dossier n'est pas vide. Donc, je suspecte le débogage de fichier et simplement renommé le dossier. Qui a résolu le problème

+0

Cela rend apparemment probable que le gestionnaire de fichiers était utilisé par un autre processus. Windows vous permettra de renommer un fichier en cours d'utilisation, mais il ne vous permettra pas de le modifier ou de le supprimer. Le renommer contourne simplement le problème et permet à VS de créer un fichier * new * à l'emplacement souhaité. –

+0

je n'ai pas renommé le fichier '.pdo' causant le problème, mais le dossier – Smith

+0

Non pertinent; cela contourne toujours le problème. Windows a créé un nouveau dossier qui ne contient pas déjà un fichier PDB. –

0

Il semblerait que votre application soit utilisée par un autre processus. Assurez-vous qu'il ne fonctionne pas. Ouvrez le gestionnaire de tâches et vérifiez s'il n'est pas là.

Redémarrer VS ou la machine devrait aider, mais vous devez comprendre ce qui tient votre pdb. Peut être l'analyseur de performance, ou DotTrace.

+0

Ce n'est pas l'application, c'est le fichier PDB. Il est probable qu'il existe un autre débogueur (peut-être une autre instance de Visual Studio?) Qui utilise le fichier. –

+0

Oui. Redémarrer VS ou un ordinateur résoudra ce problème. Mais ce qui tient cet APB doit être compris, ainsi cela ne se reproduira plus. –

+0

La suggestion de redémarrer VS était le tout dernier paragraphe de ma réponse, avant lequel j'ai suggéré une foule de possibilités pour aider à traquer le coupable. Je ne suis pas sûr de ce que ce commentaire était supposé signifier; Je n'ai pas dit de redémarrer l'ordinateur dans mon précédent commentaire. Le point est que le fichier PDB est séparé de l'application. –

1

Assurez-vous que l'application que vous compilez n'est pas en cours d'exécution lorsque vous construisez le projet ou que la DLL en cours de construction (s'il s'agit d'une DLL) n'est référencée par aucune application en cours d'exécution.
Vous pouvez utiliser Process Explorer pour rechercher votre application et éventuellement tuer le processus qui l'utilise si la fermeture ne fonctionnait normalement pas.

+0

Le fichier PDB est en cours d'utilisation, pas l'application. Ce n'est pas nécessairement la même chose. Aussi, ne tuez pas les processus sans but. Si possible, fermez-les correctement. Process Explorer devrait être principalement un outil pour diagnostiquer le problème, pas pour le résoudre. –

+0

J'ai mis à jour la réponse pour refléter votre commentaire. – Amr

2

Quelque chose d'autre a probablement le fichier obj \ Debug \ oneForce.pdb ouvert. Avez-vous le projet ouvert dans plusieurs copies de Visual Studio?

Sinon, vérifiez si le fichier est ouvert. Voir this superuser question pour savoir comment faire.

1

Visual Studio tente de modifier le fichier PDB généré automatiquement (contenant les informations de débogage) situé dans le dossier Debug de votre projet, mais quelque chose l'empêche de le faire.

Assurez-vous que vous disposez des droits d'écriture complets sur le dossier dans lequel votre projet est enregistré et que le fichier PDB n'est pas utilisé par un débogueur (comme une autre instance de Visual Studio). Le message d'erreur vous indique le chemin relatif à votre répertoire projet/solution dans lequel se trouve le fichier; c'est là que vous devriez vérifier pour vous assurer que vous avez accès en lecture/écriture:

<SolutionDir>\bin\Debug\oneForce.pdb 

Et vous pouvez utiliser une application comme Sysinternals' Process Explorer pour vérifier et voir ce que les autres applications pourraient avoir ce fichier ouvert.

Enfin, si tout le reste échoue, essayez de fermer Visual Studio et de le redémarrer. Cela résout généralement les problèmes où les handles de fichiers restent ouverts alors qu'ils auraient dû être fermés.

+0

J'ai seulement une instance de VS en cours d'exécution, et j'ai également redémarré VS plusieurs fois sans solution, même en redémarrant mon système. – Smith

+0

@Smith: Si vous avez redémarré l'ordinateur, il est impossible qu'un processus contienne toujours un handle pour le fichier. Il semble donc plus probable que vous n'ayez pas les droits d'écriture complets sur le dossier où votre fichier PDB est stocké. Essayez de copier ou de créer un fichier dans ce dossier en utilisant Windows Explorer et voir si cela fonctionne. Gardez également à l'esprit que l'accès à ce dossier peut nécessiter des privilèges d'administrateur, que Visual Studio n'aura pas par défaut en cours d'exécution sous un compte d'utilisateur standard. Essayez de lancer VS en tant qu'administrateur en cliquant avec le bouton droit sur l'icône et en utilisant l'option de menu contextuel. –

+0

J'ai exécuté ce projet pendant plus de 2 mois maintenant, et je ne rencontre aucune erreur. il a juste commencé aujourd'hui – Smith

0

Vous pouvez utiliser process explorer (à partir de sysinternals) pour découvrir le processus (ou l'application) qui verrouille le fichier pdb.

Questions connexes