Ответы:
Функция vshost.exe была введена в Visual Studio 2005 (чтобы ответить на ваш комментарий).
Цель этого состоит в основном в том, чтобы ускорить запуск отладки - в основном уже есть процесс с запущенной платформой, просто готовый загрузить ваше приложение, как только вы захотите.
См. Эту статью MSDN и этот блог для получения дополнительной информации.
.exe - «нормальный» исполняемый файл
.vshost.exe - специальная версия исполняемого файла для облегчения отладки; см MSDN для деталей
.pdb - База данных программы с символами отладки
.vshost.exe.manifest - своего рода файл конфигурации, содержащий в основном зависимости от библиотек
Файл vshost.exe - это исполняемый файл, запускаемый Visual Studio (исполняемый файл узла Visual Studio). Это исполняемый файл, который ссылается на Visual Studio и улучшает отладку.
Когда вы распространяете свое приложение среди других, вы не используете файлы vshost.exe или .pdb (база данных отладки).
Кроме того, вы можете отключить создание файлов vshost для вашей конфигурации сборки выпуска и включить его для отладки .
меры
Ссылка
Выдержка из MSDN Как: отключить процесс хостинга
Вызовы определенных API могут быть затронуты, когда включен процесс хостинга. В этих случаях необходимо отключить процесс хостинга, чтобы получить правильные результаты.
Чтобы отключить процесс хостинга
Когда процесс хостинга отключен, некоторые функции отладки недоступны или снижается производительность. Для получения дополнительной информации см. Раздел «Отладка и процесс хостинга» .
В общем, когда хостинг отключен:
- Время, необходимое для начала отладки приложений .NET Framework, увеличивается.
- Оценка выражения во время разработки недоступна.
- Частичная доверительная отладка недоступна.
Я не уверен, но я считаю, что это оптимизация отладки. Тем не менее, я обычно отключаю его (см. Свойства отладки для проекта), и я не замечаю никакого замедления и не вижу никаких ограничений, когда речь идет об отладке.
Похоже, это длительный процесс для отладки (чтобы уменьшить время загрузки?). Я обнаружил, что когда вы дважды запускаете приложение из отладчика, часто используется один и тот же процесс vshost.exe. Сначала он выгружает все загруженные пользователем библиотеки DLL. Это делает странные вещи, если вы дурачитесь с хуками API от управляемых процессов.