2013-01-16 15 views
7

Potete per favore consigli su come accelerare una compilazione, caricando una soluzione grande (~ 50 progetti). Intendo solo VS Studio 2012 o le impostazioni di Windows, non le modifiche hardware.Visual Studio 2012 speed big solution

Grazie

+0

qual è il tuo hardware –

+0

Intel Core i5-2400 [email protected] Ghz 3.10 Ghz, RAM da 8 GB. – Alexandr

+0

Non hai menzionato il disk sybsystem ... Gli SSD possono davvero aiutare con i tempi di caricamento. – GregC

risposta

5

Uso più di 100 progetti in una soluzione con Visual Studio 2012 Update 3 e si costruisce rapidamente.

  1. Sono d'accordo con condiviso commento directory di output da Oded, ma vorrei ricordare che i riferimenti del progetto lavorano OK troppo.
  2. Assicurarsi che la cartella \ Users \\ AppData \ Local \ Microsoft \ WebsiteCache sia vuota. In qualche modo, questo è un problema anche con soluzioni solo desktop.
  3. Ho disattivato Productivity Power Tools 2012, poiché compilano codice in background, un po 'troppo per i miei gusti. Disabilita tutti i plug-in e le estensioni e controlla se fa alcuna differenza.
  4. Annulla i messaggi in uscita eccessiva su disco e per lo screening, riducendo uscita verbosità Build-n-run
  5. Usa multicore con MSBuild.
  6. Come codice, prova a limitare le dipendenze tra i progetti utilizzando le interfacce e le classi astratte (C#).
  7. Prova nuovi file * .suo e fresco * .sdf. (Effettuare un backup delle impostazioni utente e del DB, quindi rimuoverle e riprovare a creare)
  8. Quando tutto il resto fallisce, utilizzare ProcessMonitor o collegarsi con un'altra istanza di Visual Studio per creare il profilo di Visual Studio durante la creazione.
  9. Provare a escludere i filtri del file system, ad esempio l'antivirus, dalla build. Ad esempio, alcuni antivirus hanno un modo di saltare la scansione in determinate directory o nomi di file.
+0

Quanto tempo ci vuole per costruire la tua soluzione di oltre 100 progetti? Ha solo progetti in C#? Native C/C++? Managed C++? – Fede

+1

Tutti i progetti vengono compilati in meno di sei minuti e ricollegano in meno di due minuti. Le build native sono notevolmente più lente. Siamo principalmente C#. I progetti F # sono un po 'più lenti, ma non così male che noterei. Disponiamo di strumenti di gen di codice generati da una famiglia che occupano la maggior parte del tempo di costruzione. – GregC

7

Considerare il vostro bisogno di 50 progetti in un'unica soluzione - visto molti progetti a cui fa riferimento l'altro è uno dei motivi principali per i rallentamenti.

Uno dei pochi validi motivi per avere progetti separati è perché è necessario distribuire gli assiemi generati separatamente. In caso contrario, considera la combinazione di progetti: utilizza le cartelle per la separazione logica.

Più basso è il numero di progetti, più veloce diventerà la tua build.

Inoltre, se si modificano i build per l'output in una directory condivisa specifica e si fa riferimento alle DLL anziché ai progetti, il numero di ricompilazioni non necessarie dovrebbe scendere drasticamente, anche se sarà necessario gestire l'ordine di compilazione da soli .

+0

+1 Per la directory di output condiviso. – JoanComasFdz

Problemi correlati