Câu trả lời:
Tính năng vshost.exe được giới thiệu với Visual Studio 2005 (để trả lời bình luận của bạn).
Mục đích của nó chủ yếu là làm cho việc gỡ lỗi khởi chạy nhanh hơn - về cơ bản đã có một quy trình với khung chạy, chỉ cần sẵn sàng tải ứng dụng của bạn ngay khi bạn muốn.
Xem bài viết MSDN và bài đăng trên blog này để biết thêm thông tin.
.exe - thực thi 'bình thường'
.vshost.exe - phiên bản đặc biệt của tệp thực thi để hỗ trợ gỡ lỗi; xem MSDN để biết chi tiết
.pdb - Cơ sở dữ liệu chương trình với các ký hiệu gỡ lỗi
.vshost.exe.manifest - một loại tệp cấu hình chứa phần lớn phụ thuộc vào thư viện
Tệp vshost.exe là tệp thực thi được chạy bởi Visual Studio (tệp thực thi của máy chủ Visual Studio). Đây là tệp thực thi có liên kết đến Visual Studio và cải thiện việc gỡ lỗi.
Khi bạn phân phối ứng dụng của mình cho người khác, bạn không sử dụng các tệp vshost.exe hoặc .pdb (cơ sở dữ liệu gỡ lỗi).
Thêm vào, bạn có thể tắt việc tạo các tệp vshost cho cấu hình Bản dựng phát hành của mình và bật nó cho Debug .
Các bước
Tài liệu tham khảo
Trích từ MSDN Cách: Vô hiệu hóa quá trình lưu trữ
Các cuộc gọi đến một số API nhất định có thể bị ảnh hưởng khi quy trình lưu trữ được bật. Trong những trường hợp này, cần phải vô hiệu hóa quá trình lưu trữ để trả về kết quả chính xác.
Để vô hiệu hóa quá trình lưu trữ
Khi quá trình lưu trữ bị vô hiệu hóa, một số tính năng gỡ lỗi không khả dụng hoặc giảm hiệu suất. Để biết thêm thông tin, hãy xem Gỡ lỗi và Quy trình lưu trữ .
Nói chung, khi quá trình lưu trữ bị vô hiệu hóa:
- Thời gian cần thiết để bắt đầu gỡ lỗi các ứng dụng .NET Framework tăng lên.
- Đánh giá biểu hiện thời gian thiết kế là không có sẵn.
- Gỡ lỗi tin cậy một phần là không có sẵn.
Tôi không chắc chắn, nhưng tôi tin rằng đó là một tối ưu hóa gỡ lỗi. Tuy nhiên, tôi thường tắt nó (xem các thuộc tính Gỡ lỗi cho dự án) và tôi không nhận thấy bất kỳ sự chậm trễ nào và tôi thấy không có giới hạn nào khi nói đến việc gỡ lỗi.
Nó dường như là một quá trình khung chạy dài để gỡ lỗi (để giảm thời gian tải?). Tôi phát hiện ra rằng khi bạn khởi động ứng dụng của mình hai lần từ trình gỡ lỗi thì thường quy trình vshost.exe sẽ được sử dụng. Nó chỉ dỡ tất cả các DLL do người dùng tải trước. Điều này thực hiện những điều kỳ quặc nếu bạn đang loay hoay với các móc API từ các quy trình được quản lý.