У меня есть веб-проект, запущенный в VS 2008. У нас есть несколько глобальных файлов ресурсов (*.resx) в папке App_GlobalResources для интернационализации. Все это работает как очарование моей локальной установки IIS из VS.
Но когда я публикую свой веб-проект в локальной файловой системе и/или на другом сервере, все ресурсы больше не могут быть найдены. Поэтому я думаю, что предварительная компиляция каким-то образом искажает материал. Когда я вызываю предварительно скомпилированный веб-сайт, я получаю сообщение об ошибке, что объект ресурса с ключом xyz не может быть найден, хотя он может быть найден раньше.
Я проверил с помощью отражателя .NET, если материал ресурса сделал его в *. DLL. Все эти идентификаторы есть (bin/Web.dll, bin/<culture> /Web.resources.dll). Идентификаторы загружаются следующим образом:
<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$ Resources:MyProject, MenuNewOrder %>" Value="NewOrder">
Файлы ресурсов называются MyProject.resx и MyProject. <culture> .resx, где < культура > соответствует конкретной культуре (то есть MyProject.de-DE.resx).
Есть идеи, как это решить?
Я очень ценю любую помощь.
Спасибо
Edit:
Если я скопирую папку App_GlobalResources вручную на выход, ресурсы могут быть загружены нормально. Поэтому я действительно задаюсь вопросом, что такое предварительная компиляция.
Меня все еще интересует вопрос "правильный путь".