Tôi muốn biên dịch App_GlobalResources/Strings.resx vào lắp ráp của tôi (và cuối cùng sử dụng lắp ráp vệ tinh cho Strings.es.resx, Strings.fr.resx, vv .) nhưng lỗi sau xảy ra khi ứng dụng được xuất bản:Làm thế nào để sử dụng nguồn lực toàn cầu biên soạn trong ASP.NET MVC
"Không thể tải tệp hoặc lắp ráp 'App_GlobalResources' hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy tệp được chỉ định".
Các bước để tạo:
- Tạo một dự án ASP.NET MVC mới.
- Thêm thư mục App_GlobalResources và tệp Strings.resx.
- Đặt xây dựng hành động của tập tin để 'Embedded Resource'
- Thêm một chuỗi để Strings.resx và sử dụng nó trong
HomeController.Index()
, ví dụViewData["Message"] = Strings.MyTest
- F5 để gỡ lỗi, hoạt động tốt.
- Xuất bản lên IIS và (kể từ Strings.resx bị loại trừ khỏi xuất bản), bạn sẽ nhận được lỗi ở trên trong trang web đã xuất bản.
Dự án ASP.NET MVC có thể sử dụng tài nguyên chuỗi được biên dịch vào dll và nếu có, tôi đang làm gì sai?
Cập nhật: Đây là những gì tôi nhìn thấy trong Reflector:
Vậy tại sao là ResourceManager không tìm thấy họ? Theo mặc định, nó không phải là fallback to the main assembly?
Câu trả lời hay! Hoạt động tuyệt vời. Cảm ơn bạn. –
_Great_ liên kết! Cảm ơn bạn! –
@ w0rd-driben, tôi đã xây dựng assembly1 chứa globalresource và được công khai khi bạn đăng bài, nhưng khi sử dụng assembly này trong một dự án khác và sử dụng mã: "<% $ Resources: General, SomeKey%>" not working ... any ý tưởng? Cảm ơn – Mhmd