Trong .NET, sau khi xây dựng một dự án, tại sao đôi khi tôi có app.config và một lần khác một tệp binaryname.dll.config?Tại sao đôi khi tôi có app.config và các lần khác một tệp binaryname.dll.config?
Trả lời
Bạn thấy tệp này dưới dạng tệp app.config trong quá trình phát triển (trong Visual Studio). Khi được triển khai (cũng như trong thư mục bin của bạn), app.config sẽ trở thành tệp binaryname.dll/exe.config (được đổi tên tự động bởi Visual Studio).
Vì lý do chính xác ... có lý do chính đáng để không có nó như app.config ... ví dụ, nếu bạn triển khai nhiều ứng dụng trong cùng một thư mục, bạn sẽ chỉ có thể có một ứng dụng .config ... vì vậy có một lý do chính đáng để đặt tên là binaryname.dll.config.
Vì vậy, câu hỏi thực sự là: tại sao nó được đặt tên app.config và không phải binaryname.dll.config ở nơi đầu tiên? Một trong những lý do tôi có thể nghĩ là bạn luôn có thể thay đổi tên đầu ra nhị phân của mình trong các tùy chọn dự án (do đó trình biên dịch tạo ra tệp .exe có tên khác với tên dự án của bạn) và tệp cấu hình sẽ được sao chép tương ứng đến tên đầu ra nhị phân đó. Có tên app.config trong giải pháp tốt hơn vì bạn luôn sao chép cùng một tên tệp vào một số tên tệp đích, mà không cần phải đổi tên tệp đó thành giải pháp (đặc biệt tốt khi tệp đó nằm dưới sự kiểm soát nguồn). Có thể có một số lý do khác nữa.
- 1. Tại sao Visual Studio IDE đôi khi khởi tạo đối tượng "this.components" và lần khác không?
- 2. Tại sao các emacs đôi khi chèn các ký tự lạ ở đầu tệp của tôi?
- 3. Tại sao đôi khi tôi nghe thuật ngữ "biến lexical?"
- 4. JavaScript và tại sao chữ cái vốn đôi khi hoạt động và đôi khi không
- 5. Tại sao mô-đun gắn trong python đôi khi tạo các tệp có các phần mở rộng khác nhau?
- 6. Tại sao đôi khi tôi không thích thú khi tôi dán một tập lệnh?
- 7. Tại sao các Truy vấn WMI chậm đôi khi?
- 8. Tại sao Spring's @Configurable đôi khi hoạt động và đôi khi không?
- 9. Tải các phần của App.Config từ một tệp khác
- 10. Tại sao một "bindingRedirect" được thêm vào tệp app.config sau khi thêm gói Microsoft.Bcl.Async?
- 11. Tại sao svn diff đôi khi sao chép các tệp đang hoạt động sang tệp tạm thời?
- 12. Tại sao numpy.array() đôi khi rất chậm?
- 13. Tại sao trong ví dụ knockout.js là viewmodel đôi khi được định nghĩa là một hàm và lần khác một định nghĩa biến trực tiếp?
- 14. Tại sao char [] và char * là typedefs khác nhau, nhưng đôi khi ... không?
- 15. Tại sao sau khi sao chép kho git sang một thư mục khác, tôi đã sửa đổi các tệp?
- 16. tại sao đôi khi tải xuống được gắn thẻ md5, sha1 và các chỉ báo băm khác?
- 17. Delphi: Tại sao đôi khi tôi nhận được lỗi I/O 103 bằng mã này?
- 18. Khi nào app.config được tạo, khi một app.exe.config và sự khác biệt là gì
- 19. Tại sao tôi (đôi khi) phải tham khảo các assembly được tham chiếu bởi assembly I?
- 20. Cơ thể email đôi khi là một chuỗi và một danh sách. Tại sao?
- 21. Tại sao các tệp đôi khi chuyển sang chế độ chỉ đọc sau khi lưu trong Visual Studio?
- 22. Tại sao ServiceModel đôi khi được khai báo trong Web.config của thư mục Khung và đôi khi không?
- 23. Tại sao Javascript đôi khi không tải trong IE8
- 24. Tại sao foreach()% làm% đôi khi chậm hơn so với?
- 25. Tại sao các phương thức C++ đôi khi được định nghĩa bên trong các lớp?
- 26. Tại sao tôi nên thực hiện đệm đôi thủ công?
- 27. Tại sao đôi khi tôi gỡ lỗi một chương trình trong VS2010, ctrl của tôi được nhấn?
- 28. Các tệp app.config (web.config) lồng nhau
- 29. Tại sao phát hiện đường dẫn A * đôi khi đi theo đường thẳng và đôi khi là đường chéo? (Java)
- 30. Tại sao tệp tin app.config bằng 0 byte gây ra một lỗi rất lạ?
Câu hỏi hay. Ngoài ra, tại sao có một binaryname.vshost.exe.config? –
@Valamas. Bởi vì Visual Studio lưu trữ quá trình cũng cần một tập tin cấu hình khi nó bắt đầu. Visual Studio lưu trữ quá trình được sử dụng cho: http://msdn.microsoft.com/en-us/library/ms242202.aspx –
@Valamas: Visual Studio tạo ra một quá trình lưu trữ để cải thiện kinh nghiệm gỡ lỗi. Tên của quá trình này là 'binaryname.vshost.exe' và để đảm bảo quá trình này được định cấu hình chính xác, nó sử dụng một bản sao của tệp' config' được đổi tên phù hợp để khớp với tên của quá trình lưu trữ. Thông tin thêm về quy trình lưu trữ: http://msdn.microsoft.com/en-us/library/ms242202.aspx –