Nonostante i continui miglioramenti su Visual Studio .NET sostengo sempre che le performance dell'IDE non siano proprio eccellenti specialmente usando un PC non troppo recente. Spesso e volentieri quando sto lavorando con Web Applications aperte in Visual Studio .NET il PC si siede un po', e quando tento di fare operazioni sui file, copia e incolla, taglia e incolla direttamente dal Solution Explorer si siede ancora di più cosa tra l'altro condivisa e confermata dal mio amico Andrea Zani.
Oggi casualmente facendo operazioni analoghe mi è andato in palla Visual Studio .NET e ho notato uno strano comportamento, incuriosito allora mi sono scaricato il Process Monitor (ex Sysinternals ora Microsoft) e sono andato un po' a vedere cosa combinava Visual Studio alla ricerca di conferme, prima di dirlo però elenco le operazioni da fare per mostrare questo comportamento un po' anomalo:
- Svuotare il cestino di Windows
- Aprire Visual Studio .NET 2008 e caricare un progetto Web
- Rinominare un qualsiasi file della Solution (un .css per esempio)
- Riaprire il cestino e come per magia...
Praticamente ad ogni operazione sui file del progetto Web, Visual Studio va a creare il file app_offline.htm nella root del sito e va ad eliminarlo contemporaneamente, spostandolo nel cestino. Questo file, per chi non lo sapesse, se posizionato nella root provoca il restart dell'app-domain. Ora, potrebbe essere logico nel caso di modifica di una pagina .aspx o di codice .vb/.cs ma perchè viene fatto anche quando si rinomina un file statico .css ? Ed ecco uno dei motivi per cui le performance degradano...