Visual Studio 2010 build fichier de verrouillage questions

J'ai un projet Visual Studio 2008 que j'ai "mis à niveau" de Visual Studio 2010. Depuis la mise à jour j'ai eu beaucoup de problèmes avec le projet (un projet qui a été et est encore trooper en 2008, je pourrais ajouter).

Le premier problème est que la construction de l'exécutable principal verrouille le fichier exécutable, causant plus de reconstruit à l'échec. Ceci est décrit dans une question connexe: Visual Studio verrous de fichier de sortie sur la compilation où j'ai pris la solution de contournement:

if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"

Sauf que cette solution fonctionne exactement une fois. L' .verrouillé le fichier est verrouillé par devenv.exe ainsi et doit être déplacé. J'ai travaillé autour de ce en ajoutant .1.verrouillé .2.verrouillé, etc. La seule fois que les verrous sont retirés afin que les fichiers peuvent être supprimé est sur l'arrêt de devenv.exe (cela prend quelques secondes après l'INTERFACE utilisateur disparaît, puis les fichiers peuvent être supprimés).

Le fait que le débogueur n'a pas à être utilisé pour provoquer ce problème points à un très sérieux problème avec la génération 2010 système.

Certaines théories, je pense que je peux discount:

  • Antivirus ou d'autres tâches en arrière-plan: si c'était un problème, il semblerait 2008 serait un échec. Cependant, étant un completest j'ai supprimé avast! système entièrement avec pas de chance.

Mise à JOUR: Ce projet a les mêmes symptômes sur une machine sans antivirus et aucun utilitaire de sauvegarde. Les machines de l'office sont en cours d'exécution XP SP3 32 bits, ma machine locale Windows 7 64 bits. Cela semble être indépendant du système d'exploitation.

  • Le débogueur est le verrouillage du fichier: tout ce qui est nécessaire pour reproduire ce qui est de répéter le processus de construction sans débogage. ProcessExplorer montre devenv.exe est le titulaire de serrures, pas la vshost et de tuer la vshost.exe ne pas supprimer les verrous de toute façon.

J'ai un problème secondaire qui commence à se produire une fois que les fichiers sont verrouillés: les concepteurs de formulaire arrêter le chargement avec un "ne peut pas trouver de l'assemblée d'erreur". Je soupçonne ceux-ci sont liés à la précédente problème de verrouillage, comme les concepteurs de feu jusqu' avant à construire, mais de faire tous les changements et la reconstruction de tous les designers à s'effondrer avec une erreur (même ceux que j'ai ouvert et que la vue en cours).

C'est pitoyable à regarder un formulaire à proximité de le blanc d'erreur de l'écran juste parce que vous avez changé de "dummy=1" à "dummy=2" où "factice" ne fait absolument rien, mais la force d'une recompilation dans un complètement indépendant de l'assemblée.

Mise à jour: j'ai essayé un peu plus de recours: Activer .Source NETTE intensification est pas vérifié, ce n'est pas la question. Retrait de l' .SUO (solution d'options de l'utilisateur), il suffit de fonctionne aussi longtemps que un redémarrage normalement à supprimer le problème (deux versions: la première, car il n'existe pas de fichier verrouillé et le second parce qu'il y en a un, mais il peut être renommé par le script).

Error   28  Unable to copy file "obj\Debug\PolicyTracker3.exe" to "bin\Debug\PolicyTracker3.exe". 
The process cannot access the file 'bin\Debug\PolicyTracker3.exe' because it is being used by another process.  
  • Avez-vous jamais résoudre ce problème?
  • Autant que les informations contenues dans la seule réponse que j'ai obtenu ici DONC, la caractéristique mentionnée (.NET framework source) n'est pas activé et n'a jamais été activé.
  • Pour le record, je suis également ce problème, et la solution est aussi un converti partir de 2008 alors peut-être qui a quelque chose à faire avec elle. Je ne suis pas le concepteur de formulaire de problèmes, mais tout le reste est presque exactement comme vous le décrivez.
  • Ortiz - essayer le code que j'ai mis dans la section réponse. Depuis que j'ai ajouté cette je trouve à chaque fois dans un certain temps je suis confronté à un blocage de l'DLL, mais il est beaucoup moins gênant quand le renomme des fichiers verrouillés sont automatisées et vous ne devez redémarrer une fois ou deux fois par jour.
  • J'ai, et ça fonctionne, merci.
  • Cela semblait avoir aidez-moi: stackoverflow.com/questions/3312646/...
  • Cela semble très plausible pour moi: j'ai une tendance à arrêter des services que je ne suis pas en utilisant leur. La machine je rencontre le problème a été "optimisé" un peu comme ça, alors que mon ordinateur portable (où il ne se passe pas) a le service en cours d'exécution. Je mettrai à jour ce commentaire une fois que j'ai peu de temps sous ma ceinture avec la machine qui exécute le service de nouveau!

InformationsquelleAutor Godeke | 2010-06-22