Tại sao thuộc tính DataAnnotation gặp khó khăn khi truy cập tài nguyên được tạo bởi PublicResxFileCodeGenerator?Bản địa hóa và Chú thích dữ liệu. GlobalResourceProxyGenerator và PublicResxFileCodeGenerator
tôi thấy rằng các thuộc tính sau:
[Compare("NewPassword", ErrorMessageResourceName = "RegisterModel_ConfirmPasswordError", ErrorMessageResourceType = typeof(Resources.Global))]
sẽ không tìm thấy tài nguyên nếu nó đã được tạo ra với PublicResxFileCodeGenerator. Tuy nhiên, một tài nguyên giống hệt được tạo bằng GlobalResourceProxyGenerator sẽ hoạt động chính xác. Cả hai tệp tài nguyên được đặt thành Nội dung và nằm trong App_GlobalResources. Tôi đã thử đặt ngôn ngữ mặc định trong App_LocalResources quá nhưng có vẻ như không tạo ra sự khác biệt nào. Thử nghiệm của tôi là ngôn ngữ phụ của tôi (GlobalResourceProxyGenerator) hoạt động nhưng ngôn ngữ chính của tôi (PublicResxFileCodeGenerator) ném một ngoại lệ (nó không tìm thấy tệp tài nguyên). Nếu tôi chuyển đổi sang GlobalResourceProxyGenerator thì mọi thứ đều ổn (nhưng rõ ràng là không có quyền truy cập công cộng).
Có ai biết tại sao điều này không? Tôi muốn chuyển tài nguyên sang một hội đồng khác trong tương lai.
Cảm ơn câu trả lời. Tôi có thể thề rằng tôi đã thử điều này nhưng có thể tôi đã có một sự pha trộn với một số vấn đề khác (một nỗ lực bị hỏng để 'sửa chữa' DislayAttribute là một vấn đề khác tôi phải chịu đựng). Quan trọng nhất là tôi quan tâm nhiều hơn đến lý do tại sao. Tại sao không tìm được tệp tài nguyên này khi đang ở trong Global_Resources? Quá trình thực hiện VS nào khiến cho tệp không được đặt đúng vị trí và tại sao? Bạn có biết? – Quibblesome
@Quibblesome, tôi đã cập nhật câu trả lời của tôi để giải quyết câu hỏi của bạn và cách làm cho nó hoạt động với thư mục 'App_GlobalResources'. –