Я попробовал следующий код
Page_Load(....)
{
/// note - i did NOT mention the culture when accesing my resourceFiles
Debug.WriteLineIf(
GetGlobalResourceObject("WebResource", "someResource")!=null,
GetGlobalResourceObject("WebResource", "someResource").ToString());
/// accessing a culture specific resource without changing Page Culture
CultureInfo yourCI = new CultureInfo("en-US");
Debug.WriteLine(
HttpContext.GetGlobalResourceObject(
"WebResource",
"someResource",
yourCI).ToString());
}
директива моей страницы
<% Page Culture="en-US" UICulture="en-US" ..... %>
Моя папка App_GlobalResources содержит два файла
- WebResource.resx
- WebResource.en-US.resx
Используя эти настройки и код - мой отладчик распечатал значение без проблем.При удалении WebResource.resx (мой файл ресурсов по умолчанию) тот же код выдает исключение .
Я бы предположил, что вам нужно добавить файл resx по умолчанию и удалить явное обозначение культуры в GetGlobalResourceObject (..., ..).
обновление: добавлен код для доступа к конкретному файлу культуры resx, см. Также MSDN