Afternoon all,Tempo di compilazione lento quando Visual Studio 2012 è aperto
Ho un problema molto strano. Quando VS 2012 è aperto, i tempi di compilazione sono molto lenti. Questo tempo di compilazione lento è presente quando si crea tramite VS e/o direttamente tramite csc.exe dalla riga di comando.
A prova: Creare una cartella con i seguenti elementi:
Un file batch (compile.bat) contenente:
echo %time%
csc /target:library class1.cs
echo %time%
e un class1.cs contenente:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ClassLibrary1
{
public class Class1
{
}
}
Ora apri un prompt dei comandi di Visual Studio. Passare alla cartella sopra ed eseguire il comando batch, senza VS aperto. Sulla mia macchina, questo richiede circa 10ms, perfetto.
Ora apro VS 2012, non apro nessuna soluzione, non faccio altro che aprire l'applicazione in modo che devenv sia in esecuzione.
Ora ripetere il test eseguendo il file batch, il tempo di compilazione è ora 10000ms (10 secondi).
Ho controllato il Visualizzatore eventi per tutto ciò che accade quando VS è aperto ma non quando è chiuso, usato procmon e filemon per cercare l'accesso ai file e controllato per vedere se VS sta abilitando tutti i servizi quando è aperto, tutto senza successo/impatto.
Ho anche provato a disinstallare e reinstallare VS, questo ha risolto il problema per le prime build ma poi si è ripetuto. Il riavvio della macchina non ha alcun effetto. Non ho installato plugin in VS.
Le macchine dei miei colleghi non visualizzano questo problema e hanno la stessa impostazione. Questo è tutto in esecuzione su una macchina con 16 GB di RAM, 64-bit Win 7 e SSD.
Qualcuno ha qualche indizio?
Personalmente ho riscontrato lo stesso problema e molti altri fastidiosi problemi con il 2012. Ho contattato Microsoft quando era ancora in modalità RC e mi è stato detto di inserire una segnalazione di errore in ...Suppongo che non sia necessario attendere lo sp1 per risolvere i problemi :( –
Durante la compilazione lenta con VS aperto, la CPU della tua macchina è limitata (difficile da credere) o legata al disco (più probabile, ma ancora difficile da credere con un SSD)? È più probabile che VS stia cercando di applicare alcuni signing o certificati che richiederanno del tempo, cosa che csc.exe non farà. –
Invocare CSC direttamente tramite la riga di comando, con VS aperto, comporta comunque la penalità temporale. i7 con 16 GB di RAM e un SSD. Con nessun altro programma in esecuzione (che ho avviato), diverso da VS, ottengo il ritardo quindi sarei sorpreso se si trattasse di un problema di vincoli di risorse! –