尝试使用以下代码访问位于WebResource.en.us
文件夹中的App_GlobalResources
等特定的本地化资源文件:
string resData = GetGlobalResourceObject("WebResource.en.us", "SomeResource").ToString();
但这不断给我以下错误:
无法找到适合指定文化的任何资源或 中性文化。确保“Resources.WebResource.en-us.resources” 被正确嵌入或链接到程序集中 编译时“App_GlobalResources.bpqqrnv4”。
有什么想法吗?
答案 0 :(得分:2)
我尝试了以下代码
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指令
<% Page Culture="en-US" UICulture="en-US" ..... %>
我的App_GlobalResources文件夹包含两个文件
使用此设置和代码 - 我的调试器打印了没有任何问题的值。 当删除 WebResource.resx (我的默认资源文件)时,相同的代码会抛出异常。
我认为您必须在GetGlobalResourceObject(... ,.)中添加默认resx文件并删除 显式文化符号。 )。
更新添加了一些代码来访问特定的resx文化文件 另见MSDN