Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Зачем нужен .vshost.exe

#net #visual_studio


При создании любого исполняемого .net проекта студия создаёт в выходном каталоге
файл /nameOfProj/.vshost.exe
Что это за файл? размер его на порядок меньше файла  /nameOfProj/.exe и при попытке
его запустить ничего не происходит. Зачем он нужен?
    


Ответы

Ответ 1



Вот блог в MSDN, описывающий, для чего нужен этот файл. Краткая выжимка: Что это вообще? Это специальный вспомогательный процесс, который ускоряет и облегчает отладку. Например, для старта нового приложения нужно создать AppDomain. А vshost-процесс запущен всё время, и просто грузит приложение в свой AppDomain — ускорение. Плюс его можно настроить для отладки в фоне, пока пользователь набивает текст программы. Далее, вычисление выражений. Как оно происходит? Очень просто: код компилируется и выполняется. Чтобы не создавать новый процесс, пригождается vshost. А почему в каталоге bin? Очень просто: загрузка связанных assembly, манифестов и тому подобного работает без дополнительных трюков в лишь «своём» каталоге. Если бы vshost был где-то в другом месте, зависимые модули не загрузились бы. А что с ним делать? Нужен ли он на клиентской машине? Нет, не нужен, не обращайте на него внимание. Его не нужно запускать вручную. Я его не хочу, уберите его! Да не вопрос, не хотите — не надо. Заходите в свойства проекта → Debug → Enable Debuggers снимите птичку с Enable the Visual Studio hosting process. А в Visual Studio 2017 vshost отключён. Нужная производительность достигается другими путями.

Ответ 2



Vshost.exe представляет собой разновидность файла EXE, связанного с Microsoft® Visual Studio® 2008, который разработан Vshost.Exe для ОС Windows. Последняя известная версия Vshost.exe: 9.0.30428.1, разработана для Windows. Данный файл EXE имеет рейтинг популярности 1 звезд и рейтинг безопасности "Неизвестно". *Ошибки EXE, например, связанные с vshost.exe, чаще всего появляются во время запуска компьютера, запуска программы или при попытке использования специфических функций в вашей программе (например, печать). В общем если своими словами то этот файл отвечает за процесс отладки Источник

Ответ 3



Назначение vshost.exe (появился в VS2005) -- быстрее запускать отладку. В памяти постоянно висит этот процесс, в котором уже загружен .NET Framework, и который готов подгрузить ваше приложение в любой момент.

Комментариев нет:

Отправить комментарий