#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, и который готов подгрузить ваше приложение в любой момент.
Комментариев нет:
Отправить комментарий