Quand je crée et compile un "Hello, World!" application en C #, je reçois trois fichiers dans le dossier Debug en dehors de l'exe principal (par exemple HelloWorld.exe)
- HelloWorld.vshost.exe
- HelloWorld.pdb
- HelloWorld.vshost.exe.manifest
À quoi servent ces fichiers?
c#
visual-studio
debugging
Milen
la source
la source
.exe - l'exécutable «normal»
.vshost.exe - une version spéciale de l'exécutable pour faciliter le débogage; voir MSDN pour plus de détails
.pdb - la base de données du programme avec des symboles de débogage
.vshost.exe.manifest - une sorte de fichier de configuration contenant principalement des dépendances sur les bibliothèques
la source
Le fichier vshost.exe est l'exécutable exécuté par Visual Studio (exécutable hôte Visual Studio). Il s'agit de l'exécutable qui relie à Visual Studio et améliore le débogage.
Lorsque vous distribuez votre application à d'autres personnes, vous n'utilisez pas les fichiers vshost.exe ou .pdb (base de données de débogage).
la source
En ajoutant, vous pouvez désactiver la création de fichiers vshost pour la configuration de votre version Release et l' activer pour le débogage .
Pas
Référence
Extrait de MSDN Comment: désactiver le processus d'hébergement
Les appels vers certaines API peuvent être affectés lorsque le processus d'hébergement est activé. Dans ces cas, il est nécessaire de désactiver le processus d'hébergement pour retourner les résultats corrects.
Pour désactiver le processus d'hébergement
Lorsque le processus d'hébergement est désactivé, plusieurs fonctionnalités de débogage ne sont pas disponibles ou connaissent une baisse des performances. Pour plus d'informations, voir Débogage et processus d'hébergement .
la source
Je ne suis pas sûr, mais je pense que c'est une optimisation de débogage. Cependant, je le désactive généralement (voir Propriétés de débogage du projet) et je ne remarque aucun ralentissement et je ne vois aucune limitation en ce qui concerne le débogage.
la source
Il semble que ce soit un processus de longue durée pour le débogage (pour réduire les temps de chargement?). J'ai découvert que lorsque vous démarrez deux fois votre application à partir du débogueur, le même processus vshost.exe est souvent utilisé. Il décharge tout d'abord toutes les DLL chargées par l'utilisateur. Cela fait des choses étranges si vous vous amusez avec les crochets API des processus gérés.
la source