//
// MessageId: ERROR_FILE_INVALID
//
// MessageText:
//
// The volume for a file has been externally altered so that the opened file is no longer valid.
//
#define ERROR_FILE_INVALID 1006L
Được sao chép từ tệp tiêu đề WindowsError.h Windows SDK. Mã lỗi biểu tượng ở đây rõ ràng là thích hợp hơn nhiều so với văn bản thông báo lỗi soạn thảo. Điều này không phải là khá bất thường. Tôi có thể thấy nó đang được sử dụng bên trong mã nguồn SSCLI20 (phiên bản nguồn mở của CLR) trong mã kiểm tra xem tệp thực thi có tiêu đề tệp PE32 thích hợp và tiêu đề .NET có trong một assembly được quản lý hay không. Rõ ràng là không áp dụng ở đây.
Tuy nhiên, CLR quan tâm đến tệp app.exe.config tại thời điểm rất sớm trong giai đoạn khởi động. Các phần tử như <supportedRuntime>
phải được phân tích cú pháp trước khi CLR có thể bắt đầu. Rõ ràng mã này không hài lòng với tệp .config trống. Mã CLR là tuyệt vời như vậy, nó không bao giờ làm 'chúng ta hãy vấp ngã trên anyway' cop-out.
Nguồn
2011-07-14 23:11:15
tệp .config thường là tệp xml, vì vậy ngay cả khi nó trống, nó cần một số cấu trúc/chữ ký xml trong đầu. Vì vậy, tệp cấu hình, vì nó trống, không thể được phân tích cú pháp dưới dạng XML, vì vậy tôi nghĩ đó là cơ chế bảo mật nội bộ để ngăn ứng dụng chạy, vì không có công cụ hoặc chương trình nào thay đổi tệp .config. trạng thái đó, vì vậy nó PHẢI được thay đổi bằng tay, điều này sẽ khiến chương trình chạy không chính xác. ít nhất, đó là một bước nữa của biện pháp an ninh. –