Я хочу скомпилировать App_GlobalResources/Strings.resx в свою сборку (и, в конечном итоге, использовать сборки для Strings.es.res.resx, Strings.fr.resx и т.д.), но следующая ошибка возникает после публикации приложения:
"Не удалось загрузить файл или сборку" App_GlobalResources "или одну из его зависимостей. Система не может найти указанный файл."
Шаги по воспроизведению:
- Создайте новый проект ASP.NET MVC.
- Добавьте папку App_GlobalResources и файл Strings.resx.
- Задайте действие для сборки файла
- Добавьте строку в Strings.resx и используйте ее в
HomeController.Index()
, например.ViewData["Message"] = Strings.MyTest
- F5 для отладки, отлично работает.
- Опубликовать в IIS и (поскольку Strings.resx исключен из публикации), вы получите вышеуказанную ошибку на опубликованном сайте.
Могут ли проекты ASP.NET MVC использовать строковые ресурсы, скомпилированные в dll, и если да, то что я делаю неправильно?
Обновление: вот что я вижу в Reflector:
Итак, почему ResourceManager не находит их? Не полагается ли откат к основной сборке по умолчанию?