Erreur 'impossible d'écrire dans le fichier de sortie' dans Visual Studio .Net

Signaler
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
-
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
-
"Impossible d'écrire dans le fichier de sortie 'C:\WORK\MonProjet\obj\Debug\MonProjet.dll' -- 'Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus. '

Bonjour.
J'ai ce msg d'erreur depuis quelques jours sur mon projet...
Il se produit après ma première compilation. (j'utilise VStudio.Net). Pour le solutionner, je dois fermer MVS, effacer la dll (signalée) à la main, et le ré ouvrir...
Mais c'est un peu barbant à la fin...

Quelqu'un a t il déjà eu ce souci ? Quelqu'un aurait il une idée pour stopper ce msg ? Et en d'autres termes, l'anomalie ?

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher

10 réponses

Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Et si tu ne fais aucune modif dans le code, et que tu fais un "Clear solution", puis "Rebuild all" ?
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Est ce que le problème arrive après la première compilation, ou la première exécution ? Si c'est après la première exécution, ton appli ne se termine pas correctement et un process (utilisant cette dll) est encore en cours (regarde dans le gestionnaire de tâche..).

Si cela arrive lors de la première compilation... alors là je ne sais pas... tu as ajouté des actions pré/post compilation ? si oui alors regarde de ce côté là...

Sinon aucune application utilisant cette dll ne tourne lorsque tu compile ton projet ?
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
1
Alors
En fait le problème arrive dès que je fais une compilation dans laquelle j'ai fait une modification de code.
C'est à dire que si je compile mon projet sans avoir fait aucune modif, rien ne se passe, et je peux le compiler tant que je veux.
Par contre, dès qu'il y a une modif, pouf... ça me fait ce pb.

Et à priori, non il n'y a pas de taches de fond ni d'actions pré/post compilation...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
1
Heu...
j'ai un VS en français
RebuildAll je 'lai
mais ClearSolution... c pas 'effacerLaSolution' j'imagine...

Sachant que c une solution multi projets hein, et que j'ai le souci que sur la dll d'un seul projets sur les quatre...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Si, c'est "effacer la solution"... en fait je te demande de faire ca car lorsque tu fais juste "compiler", sans faire de modification... et bien le code n'est pas compilé. Mais si tu as peur de cliquer sur "effacer", un 'rebuild all' devrait suffir. Ca forcera la compilation de ton appli, et dans ce cas, meme si tu n'a pas fait de modif du code, tu devrait retrouver ton erreur (mais tu ne sera pas plus avancé).

Tu as plusieurs projet... ca ne serait pas un problème de référence croisée ? (projA faire ref a projB, et projB fait ref a projA)
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
15
Le problèmes vient probablement des assembly que tu références. Regarde tes assembly persos et virer les copie local si besoin.

::|The S@ib|::
MVP C#.NET
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
1
Salut

Alors effectivement, j'avais quelques assemblys qui étaient en copie locale à true, je les ai toutes mises à false, et maintenant cela marche.

Je tiens aussi à dire qu'avant une certaine manip (laquelle, c'est bien ça le souci), cela marchait sans souci.

Voilà maintenant le msg d'erreuer que j'ai :


Impossible de supprimer la sortie du projet : le fichier est-il en lecture seule ?


Une erreur s'est produite lors de la tentative de démarrage de la compilation

Une fois de plus, je vois pas ce qui pourrait faire passer la dll de mon 'projet' en cours, en lecture seule...

Si vous n'avez pas d'idées, merci qd mm de vous être intéressé à mon cas en tout cas :)

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
1
J'ai lancé ProcessExplorerSearch pour savoir ce qu'il en était...

Alors quelques infos supplémentaires.
Avant ma première compile, la dll en question n'est prise par aucun processus.

Après la première compile, la dll est prise par le processus devnv.exe... Et sur les 4 projets, c'est la seule qui est 'tjrs' prise après compile.

Et le souci est que 'dès qu'il y a modif d'une ligne de code', donc qu'il faut toucher à la dll, devenv.exe continue à avoir l'accès à la dll qui est donc en lecture seule.

Je vois vraiment pas quoi faire pour que ce satané Visual 'LACHE' l'accès à cette dll, une fois la compile terminée...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
15
Tu dois avoirs des problèmes dans ta solutions.

Verifie que tu ne déploies / compile qu'une seul fois tes dll (copy locales) , veille a référencer les projets plutot que les assembly elles meme. Supprime le fichier suo de ton repertoire de solution et supprimer les repertoire bin et obj.

Regenerer tout.

::|The S@ib|::
MVP C#.NET
Messages postés
158
Date d'inscription
samedi 22 juin 2002
Statut
Membre
Dernière intervention
27 juin 2015
1
J'ai bien supprimer le fichier .suo du répertoire de la solution ainsi que les repertoires bin et obj.

Est ce un indice ou pas, mais il n'a pas été capable de me le regénérer...

Pour les dll, j'utilise les mm dans chacun de mes projets, cela marchait auparavant et de toute façon elles sont en copie locales=false...

Je vais cruser du coté du référencement de projet plutot que du référencement d'assembly...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher