Perché IIS server di sviluppo compila tutta la mia applicazione web ogni volta che costruire il mio web app in VS 2008?
-
22-08-2019 - |
Domanda
Abbiamo un progetto di applicazione web (non un sito web), fino al giorno abbiamo aggiunto lotto = "false" al server web.config sviluppo web è stato la compilazione di tutta l'applicazione web al posto della pagina che è stato richiesto.
<compilation debug="true" batch="false">
<assemblies>
...
</assemblies>
</compilation>
Questo ci rende più veloce. Ma io non so cosa è cambiato (Ho controllato sia foo.cproj e web.config dal repository, mettendo a confronto le versioni più vecchie, ma trovare nulla può causare questo lentezza).
Ho guardato% temp% / ASP.NET file temporanei; dopo compilo la mia web app (non ricompilare, Maiusc + F6), allora chiedo una pagina e vedo che web server cancella tutti i file già compilati da% temp% / ASP.NET file temporanei e ricrea. Non so se questo è normale, ma mi sembrava una ricompilazione completa di tutte le web app, che è molto lento. (Ho guardato via Process Explorer per wevdev.wevserver.exe chiama csc.exe più volte)
Come posso fare una compilazione più veloce? Grazie ...
Soluzione
C'è un'opzione per ASP.NET Development Server denominata 'Attiva Modifica e continuazione' che è disponibile con la versione a 32 bit di NET CLR. Girare che off in Visual Studio.
Inoltre, provare a cambiare la build per 'Qualsiasi CPU' in un accumulo di 'x 86'. Questo dovrebbe rendere più veloce la compilazione.
Altri suggerimenti
Credo che questa è una parte di utilizzare il progetto di applicazione Web. Ogni volta che si genera l'applicazione, l'intero sito è ricompilato. Si dovrebbe vedere che a differenza di un 'sito web', l'applicazione web tutto compila giù ad una singola DLL (più riferimenti).
Un'altra cosa che dovete guardare fuori per è ogni volta che si elimina un file / cartella sotto la cartella web app principale sarà anche forzare una ricompilazione, che può essere un vero e proprio dolore nel culo per i file temporanei.
Sul lato positivo una volta a superare la prima fase di compilazione, non ci sarà nessuna attesa supplementare per tempi di compilazione alle pagine non visitati.