Какова цель процесса размещения Visual Studio?


165

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


88
Трудно поверить, что этот вопрос был закрыт как «не настоящий вопрос»! Процесс хостинга достаточно реален, зная, что он делает, важно для любого программиста .NET. Как и любой загадочный вариант на странице настроек Visual Studio, к которому легко добраться. Давайте возьмем это вновь открытые люди.
Ганс Пассант

Ответы:


85

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

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

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

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

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


4
У меня есть привычка отключать эту функцию в каждом новом проекте. Я столкнулся со странными проблемами при работе с C ++ / CLI WinForms Designer, которые не возникали при отключении этой функции.
заниматься серфингом

Это очень маловероятно, потому что в C ++ IDE не используется процесс хостинга и он не используется в режиме разработки.
Ганс Пассант

2
Кроме того, на веб-сайте Microsoft ( msdn.microsoft.com/en-us/library/ms242202.aspx ) говорится, что он включает отладку с частичным доверием (не знаю, что это) и оценку времени разработки, которую я часто использую оценивать выражения в Немедленном окне. Однако у хостинга есть свои проблемы, как уже отмечалось.
Джей Имерман

5
Процесс хостинга, как правило, поддерживает загрузку библиотек DLL, в которые я хочу писать из другой работающей копии Visual Studio. Завершение процесса хостинга или даже выход и перезапуск вызывающей VS проблемы не помогают, поскольку вновь запущенный процесс хостинга снова загружает DLL. Это причина, почему я обычно отключаю его.
gpvos

Я наблюдаю, что Console.WriteLineжурналы печатаются в окне вывода, даже когда я отключаю Enable the Visual Studio hosting processопцию в окне свойств проекта форм Windows. Не уверен почему.
RBT

17

Из MSDN :

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.