Подтвердить что ты не робот

Отключение *.vshost.exe и разных файлов от создания в сборке

Я нашел следующую информацию о дополнительных файлах Microsoft Visual Studio:

Какова цель файла vshost.exe?

Мой вопрос в том, есть ли способ, с помощью которого я не могу создавать файлы .pdb,.manifest и vshost.exe? Или они абсолютно необходимы?

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

4b9b3361

Ответ 1

Переключитесь на конфигурацию Release. Затем Project + Properties, вкладка Debug, отключите опцию "Включить процесс хостинга Visual Studio". Build + Clean, вы можете удалить все, что осталось, и оно не вернется. Эта опция включена по умолчанию для сборки Release, возможно, является немного недостатком, но оправданным.

Процесс хостинга - это пользовательская версия CLR. То, что он делает, плохо документировано, но связано с настройкой параметров безопасности основного AppDomain. Я никогда не слышал, чтобы кто-то жаловался на борьбу с проблемами CAS без него, но тогда необычно отключать его, и ваше приложение почти всегда полностью доверяет при отладке из среды IDE. Было бы важно, если вы создадите сетевой ресурс в ранних версиях .NET. Единственное, что можно отключить, это то, что все, что вы пишете с помощью Console.Write в стиле GUI, больше не будет отображаться в окне "Вывод". Он не имеет ничего общего со скоростью, как заявлено в высокоподдерживаемом ответе в ссылке, базовые DLL-библиотеки уже находятся в ОЗУ, поскольку VS и MSBuild используют их.

Лучше всего просто не беспокоиться об этом слишком много. Проект установки и развертывания будет игнорировать его.

Ответ 2

Относительно файлов vshost, по крайней мере, в VS2010:

  • Они не генерируются при сборке, а при выборе конфигурации сборки (он будет сгенерирован в выпуске, когда мы выберем выпуск в первый раз) и при установке "Включить хостинг Visual Studio" в true. (Поскольку настройка debug и эта опция установлены в true, значения по умолчанию, vshost.exe будет создан в bin/debug при открытии VS с целевым проектом по умолчанию.)
  • Они не очищаются при восстановлении или очистке проекта, но только вручную, когда "Включить хостинг Visual Studio" является ложным, если VS с этим проектом открыт. (И он не будет генерироваться больше при открытии этого проекта.)

Если этот флаг имеет значение true и VS с целевым проектом открывается, этот файл не может быть удален как используемый. Когда он не установлен, vshost.exe может быть немедленно удален.

Сводка: создание и удаление этих файлов не связано с процессом сборки.

Кроме того, я могу добавить, что опция "Включить хостинг Visual Studio" в ссылочных проектах, которые являются библиотеками классов, не рассматривается. Эта опция рассматривается только для целевого проекта, который генерирует исполняемый файл.