Odpowiedzi:
Funkcja vshost.exe została wprowadzona wraz z Visual Studio 2005 (aby odpowiedzieć na twój komentarz).
Ma to głównie na celu przyspieszenie uruchamiania debugowania - w zasadzie już działa proces z frameworkiem, gotowy do załadowania aplikacji tak szybko, jak chcesz.
Zobacz ten artykuł MSDN i ten post na blogu, aby uzyskać więcej informacji.
.exe - „normalny” plik wykonywalny
.vshost.exe - specjalna wersja pliku wykonywalnego ułatwiająca debugowanie; zobacz MSDN dla szczegółów
.pdb - baza danych programu z symbolami debugowania
.vshost.exe.manifest - rodzaj pliku konfiguracyjnego zawierającego głównie zależności od bibliotek
Plik vshost.exe to plik wykonywalny uruchamiany przez program Visual Studio (plik wykonywalny hosta programu Visual Studio). Jest to plik wykonywalny, który łączy się z Visual Studio i usprawnia debugowanie.
Gdy dystrybuujesz swoją aplikację do innych osób, nie używasz plików vshost.exe ani .pdb (baza danych debugowania).
Dodając, możesz wyłączyć tworzenie plików vshost dla konfiguracji kompilacji wydania i włączyć ją w celu debugowania .
Kroki
Odniesienie
Fragment z MSDN Jak: wyłączyć proces hostingu
Połączenia z niektórymi interfejsami API mogą mieć wpływ na włączenie procesu hostingu. W takich przypadkach konieczne jest wyłączenie procesu hostingu, aby zwrócić prawidłowe wyniki.
Aby wyłączyć proces hostingu
Gdy proces hostingu jest wyłączony, kilka funkcji debugowania jest niedostępnych lub występuje obniżona wydajność. Aby uzyskać więcej informacji, zobacz Debugowanie i proces hostingu .
Ogólnie, gdy proces hostingu jest wyłączony:
- Wydłuża się czas potrzebny do rozpoczęcia debugowania aplikacji .NET Framework.
- Ocena wyrażenia w czasie projektowania jest niedostępna.
- Debugowanie częściowego zaufania jest niedostępne.
Nie jestem pewien, ale uważam, że jest to optymalizacja debugowania. Jednak zwykle wyłączam go (zobacz Właściwości debugowania dla projektu) i nie zauważam żadnego spowolnienia i nie widzę żadnych ograniczeń, jeśli chodzi o debugowanie.
Wydaje się, że jest to długo działający proces do debugowania (aby skrócić czas ładowania?). Odkryłem, że po dwukrotnym uruchomieniu aplikacji z debuggera będzie używany ten sam proces vshost.exe. Najpierw zwalnia wszystkie załadowane przez użytkownika biblioteki DLL. Robi to dziwne rzeczy, jeśli wygłupiasz się z haczykami API zarządzanych procesów.