Какова цель процесса хостинга Visual Studio?

При отладке программы с помощью Visual Studio вам предоставляется опция Enable the Visual Studio hosting process. Какова цель этой опции и какой эффект она имеет?

Ответ 1

Библиотека MSDN не дает очень хорошей информации о "процессе хостинга". Последние две функции, перечисленные в ссылке Эрика, на самом деле являются проблемами, вызванными этой функцией. Есть еще один, с которым вам рано или поздно придется столкнуться: он использует другой файл app.config. Активный называется yourapp.vshost.exe.config. Следите за этим при внесении ручных изменений в файл.

Еще одна функция, которую он поддерживает, очень хорошо видна при отладке приложения, но нигде не упоминается, это то, что происходит с выводом, созданным Console.Write(). В неконсольном режиме приложение перенаправляется в окно вывода среды IDE. Очень полезно.

Термин "хостинг" относится к функции CLR, она может быть "размещена". Примерами пользовательских хостов CLR являются SQL Server и ASP.NET. Хостинг позволяет настроить CLR до его начала. Одним из основных применений этого является настройка основного домена приложений и настройка пользовательских политик безопасности. Именно это и делает процесс хостинга.

Хороший пример пользовательского хоста CLR доступен в этом вопросе.

Короче говоря: в режиме отладки вы работаете с настроенной версией CLR, которая улучшает опыт отладки.

Ответ 2

От MSDN:

Процесс хостинга Visual Studio улучшает производительность отладчика и включает новые функции отладчика, такие как отладка частичного доверия и оценка выражения времени разработки