Risposte:
La funzione vshost.exe è stata introdotta con Visual Studio 2005 (per rispondere al tuo commento).
Lo scopo è principalmente quello di rendere più rapido l'avvio del debug - in pratica esiste già un processo con il framework in esecuzione, pronto per caricare l'applicazione non appena lo si desidera.
Vedi questo articolo MSDN e questo post sul blog per ulteriori informazioni.
.exe - l'eseguibile "normale"
.vshost.exe - una versione speciale dell'eseguibile per facilitare il debug; vedi MSDN per i dettagli
.pdb: la base di dati del programma con simboli di debug
.vshost.exe.manifest - un tipo di file di configurazione che contiene principalmente dipendenze dalle librerie
Il file vshost.exe è l'eseguibile eseguito da Visual Studio (eseguibile host di Visual Studio). Questo è l'eseguibile che collega a Visual Studio e migliora il debug.
Quando si distribuisce l'applicazione ad altri, non utilizzare i file vshost.exe o .pdb (database di debug).
Inoltre, è possibile disattivare la creazione di file vshost per la configurazione della build di rilascio e averlo abilitato per il debug .
passi
Riferimento
Estratto da MSDN Procedura: disabilitare il processo di hosting
Le chiamate a determinate API possono essere influenzate quando il processo di hosting è abilitato. In questi casi, è necessario disabilitare il processo di hosting per restituire i risultati corretti.
Per disabilitare il processo di hosting
Quando il processo di hosting è disabilitato, diverse funzionalità di debug non sono disponibili o si verificano prestazioni ridotte. Per ulteriori informazioni, consultare Debug e il processo di hosting .
In generale, quando il processo di hosting è disabilitato:
- Il tempo necessario per iniziare il debug delle applicazioni .NET Framework aumenta.
- La valutazione dell'espressione in fase di progettazione non è disponibile.
- Il debug di trust parziale non è disponibile.
Non ne sono sicuro, ma credo sia un'ottimizzazione del debug. Tuttavia, di solito lo spengo (vedi Proprietà di debug per il progetto) e non noto alcun rallentamento e non vedo limiti quando si tratta di debug.
Sembra essere un processo framework di lunga durata per il debug (per ridurre i tempi di caricamento?). Ho scoperto che quando avvii l'applicazione due volte dal debugger, verrà spesso utilizzato lo stesso processo vshost.exe. Scarica prima tutte le DLL caricate dall'utente. Questo fa cose strane se stai scherzando con gli hook API dai processi gestiti.