Khi tôi biên dịch một ứng dụng với VS2008 đôi khi tôi kết thúc với 2 tập tin cấu hình giống hệt nhau:Tệp * .vshost.exe.config là gì?
- * .exe.config
- * .vshost.exe.config
là gì sau này một cho?
Khi tôi biên dịch một ứng dụng với VS2008 đôi khi tôi kết thúc với 2 tập tin cấu hình giống hệt nhau:Tệp * .vshost.exe.config là gì?
là gì sau này một cho?
Đây là bài đăng trên blog nói về quy trình vshost và mục đích của nó.
Ngoài liên kết bên ngoài, bạn nên thêm ít nhất một lời giải thích nhỏ, để câu trả lời được chứa trong SO và không hoàn toàn phụ thuộc vào tài nguyên bên ngoài có thể biến mất. – JotaBe
Khi gỡ lỗi bên trong VS, ứng dụng của bạn sẽ được gọi là [appname] .vshost.exe và do đó tệp .vshost.exe.config là nơi chạy .net sẽ tìm cấu hình của chương trình.
điều gì sẽ xảy ra nếu nó được xuất bản lên máy chủ? Nó có gây ra vấn đề gì không? – batmaci
Tôi nhận thấy điều gì đó khác về hành vi này.
Trong khi VS sẽ tạo ra một cấu hình được gọi là [appname] .vshost.exe.config, cuộc gọi API:
var s = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
không trả lại tên này, chứ không phải nó sẽ trả về: [appname] .config
Điều này đã được sử dụng VS2010. Chưa được kiểm tra trong VS2008
Tôi nghĩ rằng nó bởi vì nếu bạn có VS lưu trữ được kích hoạt trong tab thuộc tính dự án gỡ lỗi nó sẽ được tìm kiếm [appname] .vshost.exe.config. Nhưng nếu bạn đã tắt nó, nó sẽ tìm kiếm [appname] .config. Tôi di chuyển một dự án từ VS2008 -> VS2013 và nó sẽ không đọc tập tin cấu hình không có vấn đề gì nó sẽ trả về null. & vshost.exe.config sẽ không bao giờ tạo ra. Vì vậy, tôi đã phải tắt VS lưu trữ mô tả ở trên, sau đó đổi tên app.config thành [appname] .config & đặt nó vào thư mục bin. Bây giờ nó hoạt động. – drzounds
Cảm ơn câu hỏi đã khuấy động cuộc thảo luận. –