Domanda

Sto lavorando su un'app PocketPC in Visual Studio 2005. La soluzione si stava sviluppando bene, poi all'improvviso si è rotta. Il primo errore è questo (supponiamo che il progetto sia FooPDA):

" Impossibile trovare il file sorgente 'C: \ FooPDA \ obj \ Release \ FooPDA.exe' per il file 'FooPDA.exe', che si trova in '% InstallDir%', il file potrebbe essere assente o bloccato. "

Questo errore mi confonde piuttosto. Sta cercando il file che dovrebbe generare. Qualcuno ha idea di cosa potrebbe andare storto qui?


Modifica : il progetto si sviluppa bene senza il controllo della versione, cambio semplicemente l'icona sul progetto e inizia a lanciare questo misterioso errore.

È stato utile?

Soluzione

La visualizzazione di% InstallDir% nel messaggio di errore potrebbe essere un lead. Hai un progetto di installazione e distribuzione nella tua soluzione? Viene costruito prima del tuo progetto FooPDA? Vederlo guardare in obj è anche difficile.


Modifica OP : eri sulla strada giusta, quindi ti darò credito per la risposta. Si scopre che quando si esegue una ricostruzione, il compilatore di Visual Studio 2005 è piuttosto stupido in quanto non si ferma quando colpisce un progetto che non può essere compilato. Continua a compilare e generare errori.

Questa particolare soluzione contiene tre progetti. Li chiameremo FooPDA, PDAComponents e Setup. Ho cambiato l'icona sul progetto FooPDA e la soluzione non si sarebbe più compilata. L'errore su cui mi stavo concentrando non aveva nulla a che fare con il problema reale. Avrei dovuto concentrarmi sull'errore che ho visto quando ho fatto la build iniziale, che era:

CVTRES: errore irreversibile CVT1103: impossibile leggere il file

Fondamentalmente ho lasciato perdere e ho subito fatto una ricostruzione. Questo è quando l'errore che ho pubblicato è arrivato in cima alla lista degli errori e mi è stato risolto. Non avrei dovuto. L'errore che avevo pubblicato in origine era dovuto al fatto che FooPDA non si stava compilando, quindi FooPDA.exe non era disponibile quando è arrivato il momento di compilare il progetto di installazione. Il motivo per cui FooPDA non è stato compilato quando ho cambiato l'icona era dovuto al fatto che il file .ico che stavo cercando di aggiungere conteneva dimensioni di icona incompatibili e / o profondità di colore . Apparentemente il framework compatto (o la piattaforma target, PocketPC 2003?) Comprende solo alcuni di questi. Il file .ico che stavo cercando di aggiungere conteneva ogni sorta di dimensioni e profondità di colore (fino a 256x256 a 32 bit). Ho guardato il file .ico che era originariamente lì e aveva solo due icone 48x48. Un colore a 24 bit e uno a 8 bit. Ho aperto il mio nuovo file .ico in un editor di icone e l'ho modificato per contenere le stesse dimensioni e profondità di colore dell'originale e tutto andava di nuovo bene con il mondo. La soluzione ora si compila con la nuova icona, nessun problema.

Da un lato, mi sento un po 'sciocco per non averlo capito (alla fine ho chiesto a un collega che lo aveva già incontrato). D'altra parte, ciò che f ** k fa " CVTRES: errore fatale CVT1103: impossibile leggere il file " Dimmi? Niente! Cosa c'è di sbagliato in " Errore: icona incompatibile " ;?

Altri suggerimenti

A volte questo succede a me nelle librerie di classi, ecc. Se la soluzione non viene compilata correttamente, non arriva mai al punto in cui genera il file .exe.

Puoi compilare senza eseguire il progetto o ricevi lo stesso errore anche quando cerchi di compilare?

Se possibile, proverei a correggere eventuali errori di compilazione e ricostruzione.

Chiudi Visual Studio. Pulisci la tua soluzione. Crea di nuovo la tua soluzione.

Il messaggio appare di nuovo?

A volte VS blocca alcuni file durante la compilazione, potrebbe essere bloccato da una build precedente.

  
    

" Impossibile trovare il file di origine 'C: \ FooPDA \ obj \ Release \ FooPDA.exe'

  

Sta provando il file di creazione C: \ FooPDA \ bin \ Release \ FooPDA.exe.

C: \ FooPDA \ obj \ Release \ FooPDA.exe è un file (ok, praticamente l'unico) che usa per crearlo (principalmente copiandolo).

Sembra che per qualche altro motivo, la compilazione non sia riuscita (errore di sintassi, ecc.), ma un po 'il resto del processo di compilazione non ha ottenuto la parola e ha continuato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top