Quando si esegue il debug di un programma utilizzando Visual Studio, viene fornita l'opzione Enable the Visual Studio hosting process. Qual è lo scopo di questa opzione e quale effetto ha?
Quando si esegue il debug di un programma utilizzando Visual Studio, viene fornita l'opzione Enable the Visual Studio hosting process. Qual è lo scopo di questa opzione e quale effetto ha?
Risposte:
La libreria MSDN non fornisce ottime informazioni sul "processo di hosting". Le ultime due funzionalità elencate nel link di Eric sono in realtà problemi indotti dalla funzionalità. Ce n'è un altro in cui ti imbatterai prima o poi: usa un file app.config diverso. Quello attivo si chiama yourapp.vshost.exe.config. Fai attenzione quando apporti modifiche manuali al file.
Un'altra caratteristica che supporta è molto visibile quando esegui il debug della tua app ma non è menzionata da nessuna parte è ciò che accade all'output prodotto da Console.Write (). In un'app in modalità non console, viene reindirizzato alla finestra Output dell'IDE. Molto utile.
Il termine "hosting" si riferisce a una funzionalità del CLR, può essere "ospitato". Esempi di host CLR personalizzati sono SQL Server e ASP.NET. L'hosting consente di configurare il CLR prima che venga avviato. Un utilizzo principale di questo è la configurazione dell'AppDomain principale e l'impostazione di criteri di sicurezza personalizzati. Questo è esattamente ciò che sta facendo il processo di hosting.
Un buon esempio di un host CLR personalizzato è disponibile in questa domanda .
Per farla breve: in modalità debug si esegue con una versione personalizzata di CLR, che migliora l'esperienza di debug.
Console.WriteLineregistri vengono stampati nella finestra di output anche quando disabilito l' Enable the Visual Studio hosting processopzione dalla finestra delle proprietà di un progetto di moduli di Windows. Non so perché.
Da MSDN :
Il processo di hosting di Visual Studio migliora le prestazioni del debugger e abilita nuove funzionalità di debugger, come il debug con attendibilità parziale e la valutazione dell'espressione in fase di progettazione
È spiegato qui in MSDN: debug e processo di hosting .