Quel est le but de la vshost.fichier exe?

quand je crée et compile une application "hello world" en C#, j'obtiens trois fichiers dans le dossier de débogage en dehors de L'exe principal (par exemple HelloWorld.exe) 151910920"

  1. HelloWorld.vshost.exe
  2. HelloWorld.APB
  3. HelloWorld.vshost.EXE.manifeste 151940920"

à quoi servent ces fichiers?

454
demandé sur Robbie Dee 2009-04-21 23:24:48

6 réponses

La vshost.la fonctionnalité exe a été introduite avec VS2005 (pour répondre à votre commentaire).

le but de celui - ci est principalement de rendre le débogage plus rapide de lancement-fondamentalement, il ya déjà un processus avec le cadre en cours d'exécution, juste prêt à charger votre application dès que vous le souhaitez.

Voir cet article MSDN et ce blog pour plus d'informations.

400
répondu Jon Skeet 2018-06-23 07:47:12
  • .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 les symboles de débogage

  • .vshost.EXE.manifeste - une sorte de fichier de configuration contenant principalement des dépendances sur les bibliothèques

163
répondu Daniel Brückner 2010-07-16 09:22:55

La vshost.le fichier exe est l'exécutable exécuté par Visual Studio (exécutable hôte de visual studio). C'est l'exécutable qui relie Visual Studio et améliore le débogage.

lorsque vous distribuez votre application à d'autres, vous n'utilisez pas le vshost.exe ou .pdb (base de données de débogage) des fichiers.

60
répondu Will Eddins 2009-07-10 16:06:40

ajouter, vous pouvez désactiver la création de fichiers vshost pour votre Release configuration de construction et l'avoir activé pour débogage .

Étapes

  • Propriétés du Projet > Debug > Configuration (Libération) > Désactiver le processus d'hébergement Visual Studio
  • projet Propriétés > Debug > Configuration (Debug) > activer le processus D'hébergement de Visual Studio

Screenshot from VS2010

référence

  1. MSDN comment désactiver le processus D'hébergement
  2. MSDN Processus d'Hébergement (vshost.exe) 1519280920"

extrait de MSDN comment désactiver le processus D'hébergement

Les appels

vers certains 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 des résultats corrects.

Pour désactiver le processus d'hébergement

  1. ouvrir un projet exécutable dans Visual Studio. Projets qui ne produisent pas les exécutables (par exemple, la bibliothèque de classe ou les projets de service) n'ont pas cette option.
  2. sur le menu projet , cliquez sur propriétés .
  3. cliquez sur l'onglet Debug .
  4. effacer la activer le processus d'hébergement de Visual Studio case à cocher.

lorsque le processus d'hébergement est désactivé, plusieurs les fonctions ne sont pas disponibles ou ont une performance réduite. Pour plus d'informations, voir Débogage et le processus D'hébergement .

En général, lorsque le processus d'hébergement est désactivé:

  • le temps nécessaire pour commencer le débogage des applications Framework.net augmente.
  • au moment de la Conception l'évaluation de l'expression n'est pas disponible.
  • debugging de confiance partielle n'est pas disponible.
13
répondu SimplyInk 2017-05-29 03:26:33

Je ne suis pas sûr, mais je crois que c'est une optimisation de débogage. Cependant, je l'éteins habituellement (voir Propriétés de débogage pour le projet) et je ne remarque aucun ralentissement et je ne vois aucune limitation quand il s'agit de débogage, donc il n'est certainement pas nécessaire pour le débogage comme indiqué par Guard.

10
répondu Brian Rasmussen 2009-04-21 19:33:22

il semble qu'il s'agisse d'un processus de cadre de débogage à long terme (pour réduire les temps de charge?). J'ai découvert que lorsque vous démarrez votre application deux fois à partir du débogueur souvent les mêmes vshost.exe processus sera utilisé. Il décharge d'abord tous les DLLs chargés par l'utilisateur. Cela fait des choses étranges si vous vous amusez avec les crochets API des processus gérés.

2
répondu Joshua 2009-09-10 04:08:35