Question

Je travaille sur une application PocketPC dans Visual Studio 2005. La solution était efficace, puis a soudainement échoué. La première erreur est la suivante (supposons que le projet est FooPDA):

"Impossible de trouver le fichier source" C: \ FooPDA \ obj \ Release \ FooPDA.exe "pour le fichier" FooPDA.exe ", situé dans"% InstallDir% ", ce fichier peut être absent ou verrouillé."

Cette erreur est plutôt déroutante pour moi. Il recherche le fichier qu'il est censé générer. Quelqu'un at-il une idée de ce qui pourrait mal se passer ici?

Modifier : le projet fonctionne sans contrôle de version, je change simplement l'icône du projet et il commence à générer cette erreur mystérieuse.

Était-ce utile?

La solution

Voir% InstallDir% dans le message d'erreur peut être une piste. Avez-vous un projet d'installation et de déploiement dans votre solution? Est-il construit avant votre projet FooPDA? Le voir dans obj est également louche.

OP Modifier : vous étiez sur la bonne voie, je vous créditerai donc la réponse. Il s'avère que lorsque vous effectuez une reconstruction, le compilateur Visual Studio 2005 est assez stupide en ce sens qu'il n'arrête pas lorsqu'il frappe un projet qu'il ne peut pas compiler. Il continue simplement à compiler et à jeter des erreurs.

Cette solution particulière contient trois projets. Nous les appellerons FooPDA, PDAComponents et Setup. J'ai changé l'icône sur le projet FooPDA et la solution ne serait plus compilée. L'erreur sur laquelle je me concentrais n'avait rien à voir avec le problème réel. J'aurais dû me concentrer sur l'erreur constatée lors de la compilation initiale, à savoir:

CVTRES: erreur fatale CVT1103: impossible de lire le fichier

En gros, je me suis débarrassé de cela et j'ai immédiatement reconstruit. C'est à ce moment que l'erreur que j'ai signalée est arrivée en haut de la liste des erreurs et que je me suis fixée dessus. Je n'aurais pas dû l'être. L'erreur que j'avais initialement signalée était due au fait que FooPDA n'était pas en train de compiler. FooPDA.exe n'était donc pas disponible au moment de la compilation du projet d'installation. La raison pour laquelle FooPDA n'a pas pu compiler lorsque j'ai modifié l'icône est due au fait que le fichier .ico que j'essayais d'ajouter contenait des tailles d'icône et / ou des profondeurs de couleurs incompatibles . Apparemment, le cadre compact (ou la plate-forme cible, PocketPC 2003?) N'en comprend que certains. Le fichier .ico que j’essayais d’ajouter comportait toutes sortes de tailles et de profondeurs de couleurs (jusqu’à 256 x 256 @ 32 bits). J'ai examiné le fichier .ico qui se trouvait à l'origine et qui ne contenait que deux icônes 48x48. Une couleur 24 bits et une 8 bits. J'ai ouvert mon nouveau fichier .ico dans un éditeur d'icônes et je l'ai modifié pour qu'il contienne les mêmes tailles et profondeurs de couleurs que l'original et tout était à nouveau conforme au monde. La solution compile maintenant avec la nouvelle icône, pas de problème.

D'un côté, je me sens un peu idiot de ne pas comprendre cela (j'ai finalement demandé à un collègue qui l'avait déjà rencontré auparavant). Par contre, que fait le f ** k " CVTRES: erreur fatale CVT1103: impossible de lire le fichier " dîtes-moi? Rien! Quel est le problème avec "Erreur: icône incompatible"?

Autres conseils

Cela m’arrive parfois dans les bibliothèques de classes, etc. Si la solution ne se construit pas correctement, elle n’arrive jamais au point de générer le fichier .exe.

Pouvez-vous compiler sans exécuter le projet ou obtenez-vous la même erreur en essayant de compiler également?

Si vous le pouvez, j'essaierai de corriger les erreurs de compilation et de reconstruire.

Fermez Visual Studio. Nettoyez votre solution. Générez à nouveau votre solution.

Le message apparaît-il à nouveau?

Parfois, VS verrouille un fichier lors de la compilation, il est peut-être verrouillé par une version précédente.

  
    

" Impossible de trouver le fichier source 'C: \ FooPDA \ obj \ Release \ FooPDA.exe'

  

Il essaie le fichier de création C: \ FooPDA \ bin \ Release \ FooPDA.exe.

C: \ FooPDA \ obj \ Release \ FooPDA.exe est un fichier (ok, à peu près le seul) à utiliser pour créer cela (principalement en le copiant).

Cela ressemble à une autre raison, la construction a échoué (erreur de syntaxe, etc.), mais un peu le reste du processus de construction n'a pas reçu le mot, et a continué.

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