Se si segue il commento del commento di Hans Passant e si imposta MSBuild sull'output diagnostico, si otterrà un'immagine più chiara di ciò che sta prendendo il tempo. Se scopri che la tua build è appesa al Licensing Compiler (LC.exe), ciò potrebbe essere dovuto al tentativo di chiamare un server e il timeout. È possibile risolvere questo alterando il vostro machine.config -
edit c: \ windows \ microsoft.net \ Framework \ v2.0.50727 \ config \ machine.config, e aggiungere la seguente chiave:
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
EDIT: //
Sulla base del commento qui di seguito ho fatto un po 'di scavo. L'attività di verifica della piattaforma ha un problema noto in cui viene eseguito molto lentamente in VS2008. Maggiori dettagli su di esso può essere trovato qui:
http://blogs.msdn.com/b/vsdteam/archive/2006/09/15/756400.aspx
Un modo per aggirare questo è quello di disabilitare il compito stesso nella vostra build. Per fare questo
1) Aprire il file:
%windir%\Microsoft.NET\Framework\v2.0.50727\Microsoft.CompactFramework.Common.Targets
per la modifica.
2) Vai alla linea che recita:
Name="PlatformVerificationTask">
e modificarla in:
Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' != 'true'">
3) Aggiungere la variabile di ambiente SkipPlatformVerification al sistema e impostarlo su "true" (Per riattivare la verifica della piattaforma, impostare la variabile di ambiente su "falso"). Se hai bisogno di aiuto per impostare una variabile d'ambiente leggi http://vlaurie.com/computers2/Articles/environment.htm. Se non vuoi aggiungere una variabile d'ambiente, puoi scambiare la condizione con qualcosa che è sempre falso (cioè Condizione = "'vero' == 'falso'")
C# non utilizza un linker. Cambia l'output di MSBuild in diagnostica e incolla le volte che vedi nella tua domanda. Strumenti + Opzioni, Progetto e soluzioni, Costruisci ed esegui. –