Để sử dụng GetGlobalResourceObject()
trong Visual Studio 2008, tôi phải sao chép tệp .resx vào thư mục App_GlobalResources của Visual Studio. Sau khi ứng dụng được biên dịch trước, các tệp tài nguyên đang được biên dịch thành các cụm vệ tinh tương ứng và được triển khai trong thư mục \bin\
theo tên văn hóa. Điều này tất cả hoạt động tốt.Thêm cụm từ vệ tinh vào trang web được triển khai được biên dịch trước
Tuy nhiên, tôi không thể thêm cụm vệ tinh mới sau khi ứng dụng đã được biên dịch trước. Những gì tôi đã làm là:
Tạo một Satellite Assembly:
resgen resources.applicationresources.es-ES.resx resources.applicationresources.es-ES.resources al/t: lib/văn hóa : es-ES /embed:resources.applicationresources.es-ES.resources /out:App_GlobalResources.resources.dll
Thư mục đã tạo
\bin\es-ES\
và triển khai tệp .dll ở đó.
Thật không may, cụm vệ tinh mới được thêm vào không được công nhận bởi GetGlobalResourceObject()
, quay trở lại tài nguyên mặc định (tiếng Anh). Dường như không có gì sai với tệp tài nguyên vì nếu tôi sao chép cùng một tệp .resx vào App_GlobalResources
và sau đó biên dịch ứng dụng, mọi thứ hoạt động tốt.
Tôi đang thiếu gì? BTW loại dự án của tôi là trang web và không phải dự án ứng dụng web.
Bạn đã bao giờ tìm ra giải pháp cho vấn đề này chưa? – splattne
Hiện tại rất khó khăn với chính điều này. – Mig
Vấn đề trong trường hợp của chúng tôi là, trong khi tạo ra các hội đồng vệ tinh thông qua resgen, đường dẫn không gian tên là không chính xác. Chúng tôi đã lồng tiếng cho dll vệ tinh được tạo bằng ILDASM, vì vậy chúng tôi đã sửa nó và triển khai lắp ráp lại. – ksa