c# - una - ¿Cuál es el propósito del archivo vshost.exe?
la depuración de scripts de chrome en visual studio está habilitada (6)
Cuando creo y compilo una aplicación "hello world" en C #, obtengo tres archivos en la carpeta Debug aparte del archivo principal (por ejemplo, HelloWorld.exe)
- HelloWorld.vshost.exe
- HelloWorld.pdb
- HelloWorld.vshost.exe.manifest
¿Para qué sirven estos archivos?
Agregando, puede desactivar la creación de archivos vshost para su configuración de compilación de la versión y tenerla habilitada para la depuración .
Pasos
- Propiedades del proyecto > Depurar > Configuración (versión)> Deshabilitar el proceso de alojamiento de Visual Studio
- Propiedades del proyecto > Depurar > Configuración (depuración)> Habilitar el proceso de hospedaje de Visual Studio
Referencia
Extracto de MSDN Cómo deshabilitar el proceso de hospedaje
Las llamadas a ciertas API pueden verse afectadas cuando el proceso de alojamiento está habilitado. En estos casos, es necesario deshabilitar el proceso de alojamiento para devolver los resultados correctos.
Deshabilitar el proceso de alojamiento.
- Abra un proyecto ejecutable en Visual Studio. Los proyectos que no producen ejecutables (por ejemplo, biblioteca de clases o proyectos de servicio) no tienen esta opción.
- En el menú Proyecto , haga clic en Propiedades .
- Haga clic en la pestaña Depuración .
- Desactive la casilla de verificación Habilitar el proceso de alojamiento de Visual Studio .
Cuando el proceso de alojamiento está deshabilitado, varias características de depuración no están disponibles o experimentan un rendimiento reducido. Para obtener más información, consulte Depuración y el proceso de alojamiento .
En general, cuando el proceso de alojamiento está deshabilitado:
- El tiempo necesario para comenzar a depurar aplicaciones de .NET Framework aumenta.
- La evaluación de la expresión en tiempo de diseño no está disponible.
- La depuración de confianza parcial no está disponible.
El archivo vshost.exe es el ejecutable ejecutado por Visual Studio (ejecutable de visual studio host). Este es el ejecutable que enlaza con Visual Studio y mejora la depuración.
Cuando distribuye su aplicación a otros, no utiliza los archivos vshost.exe o .pdb (base de datos de depuración).
La función vshost.exe se introdujo con VS2005 (para responder a su comentario).
El objetivo principal es hacer que el inicio de la depuración sea más rápido; básicamente, ya existe un proceso con el marco de trabajo en ejecución, listo para cargar su aplicación tan pronto como lo desee.
Consulte este artículo de MSDN y esta publicación de blog para obtener más información.
No estoy seguro, pero creo que es una optimización de depuración. Sin embargo, normalmente lo desactivo (vea Propiedades de depuración para el proyecto) y no noto ninguna desaceleración y no veo limitaciones cuando se trata de depurar, por lo que ciertamente no es necesario para la depuración como lo indica Guard.
Parece ser un proceso de marco de larga ejecución para la depuración (¿para disminuir los tiempos de carga?). Descubrí que cuando inicia su aplicación dos veces desde el depurador, a menudo se usará el mismo proceso vshost.exe. Simplemente descarga todas las DLL cargadas por el usuario primero. Esto hace cosas extrañas si está jugando con los enganches API de los procesos administrados.
.exe - el ejecutable ''normal''
.vshost.exe: una versión especial del ejecutable para ayudar a la depuración; ver MSDN para más detalles
.pdb - la base de datos del programa con símbolos de depuración
.vshost.exe.manifest - un tipo de archivo de configuración que contiene principalmente dependencias en bibliotecas