Molto spesso è capitato che Visual Studio 2003 non riuscisse a compilare librerie referenziate oppure gli eseguibili windows e console application.
Il messaggio di errore è sempre questo: Could not copy temporary files to the output directory.
Ci sono vari motivi, tutti più o meno documentati:
- eseguibile ancora aperto
- DLL referenziato in uso
- eseguibile ancora in esecuzione ma non più visibile nella taskbar ma solo nel task manager
- impostazione “Copy Local” settato a false nel progetto libreria referenziato (basta metterlo a true)
- directory in read-only (per impostazione arbitraria del file system o il programma di controllo del codice sorgente locka la directory, mai mettere la “bin” sotto SourceSafe :D)
- dulcis in fundo, una cosa che non mi sarei mai aspettato e che ho scoperto con enorme stupore oggi, il programmino di protezione residente TeaTimer di SpyBot S&D che blocca gli eseguibili
Le motivazioni dei primi punti sono tutte legittime e valide e si possono risolvere facilmente: chiudere e riaprire visual studio, ripristinare i permessi di scrittura, impostare correttamente sourcesafe, passare da Debug a Release e ancora a Release, effettuare un Rebuild Project o Rebuild Solution
Per quanto riguarda SpyBot S&D, probabilmente il programmino riconosce l’exe compilato come una probabile minaccia. Basta chiuderlo e ricompilare normalmente e la compilazione andrà a buon fine.

