Question

J'ai un test unitaire qui fonctionne correctement localement mais qui échoue lors du téléchargement sur le serveur de compilation de TeamCity avec le message "Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus."

  1. Avant de faire quoi que ce soit dans le test Je vérifie dans la configuration si le fichier existe et si c'est le cas essayez de le supprimer. Cela échoue avec la même erreur message comme ci-dessus
  2. Quand vous écrivez le fichier, je ferme l'écrivain puis en disposer que je crois devoir se débarrasser de toutes les ressources.

J'ai donc quelques requêtes

  1. Quelqu'un at-il eu des problèmes similaires et a réussi à les résoudre
  2. Comment peut-on savoir ce qui est programmé? processus a égoïstement verrouillé la fichier !!!

A bientôt

Était-ce utile?

La solution

Sysinternals FileMon contient des informations (défilement vers le bas) sur la procédure à suivre. cela a été accompli dans les anciennes versions de Windows.

Moniteur de processus est leur dernière version, mais elle ne le permet pas. Donner de nombreux indices sur la façon dont ils le font. Certains articles de la base de connaissances qui y sont liés devraient cependant vous mener à cette information.

-Adam

Autres conseils

Sysinternals handle.exe constitue la première étape. Vous pouvez également utiliser le Find Handle ou DLL de Process Explorer . Cependant, il est toujours plus prudent de tuer le processus que de fermer la poignée.

Par programme, il s’agit d’écrire un pilote du noyau qui lit la table des handles de Windows.

ProcessMon (pour la recherche) et Unlocker (au moins pour le déverrouillage) sont également utiles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top