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.

Chi sviluppa in .NET con Visual Studio 2003 avrà avuto la necessità di effettuare del debug javascript… Finchè si usava Explorer 6 non c’erano grossi problemi, anzi, ho sempre considerato il debugging client di vs 2003 una manna dal cielo…

Installando Explorer 7 ho avuto una spiacevole sorpresa… Il debug js non funziona più e VS mi notifica questo simpatico messaggio “There is no source code available for the current location.”

Googlando a destra e a manca ho scoperto che è un bug noto e la stessa Microsoft sui forums di supporto ufficiali (nel novembre 2006) conosceva il problema e stava “lavorando per correggerlo”…

Esistono quattro workaround per questo problema:

- spostare il codice js da debuggare in un file esterno e includerlo nella pagina
- usare Microsoft Script Editor incluso nella suite di Office 2003
- richiedere a Microsoft una fix specifica documentata nella kb 930873 (solo con VS2003 SP1)
- usare il debug client di Visual Studio 2005

Magra consolazione.

Niente paura però, il debug js con Explorer 7 e Visual Studio 2005 funziona perfettamente.