Asp.net resourcemanager使用错误的UICulture来提供内容!始终返回中立文化

Asp.net resourcemanager使用错误的UICulture来提供内容!始终返回中立文化,asp.net,localization,currentculture,currentuiculture,Asp.net,Localization,Currentculture,Currentuiculture,可能重复: 我在很多论坛上问过,但似乎没有人能帮我 default.aspx: <asp:Literal ID="Literal1" Text="<%$Resources:lookingfor %>" runat="server"/> global.asax: Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) Application("RM") = New ResourceM

可能重复:

我在很多论坛上问过,但似乎没有人能帮我

default.aspx:

<asp:Literal ID="Literal1" Text="<%$Resources:lookingfor %>" runat="server"/>
global.asax:

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    Application("RM") = New ResourceManager("strings", Assembly.Load("strings"))
End Sub 
\bin文件夹: 在我的bin文件夹中,我有:

bin\strings.txt bin\nl\strings.nl.txt bin\en\strings.en.txt bin\strings.txt bin\nl\strings.nl.txt bin\en\strings.en.txt 我按如下方式生成DLL:

resgen strings.txt strings.resources al /embed:strings.resources,strings.resources /out:strings.dll resgen nl\strings.nl.resources al /embed:nl\strings.nl.resources,strings.nl.resources /out:nl\strings.resources.dll /c:nl resgen en\strings.en.resources al /embed:en\strings.en.resources,strings.en.resources /out:en\strings.resources.dll /c:en resgen strings.txt strings.resources al/embed:strings.resources,strings.resources/out:strings.dll resgen nl\strings.nl.resources al/embed:nl\strings.nl.resources,strings.nl.resources/out:nl\strings.resources.dll/c:nl resgen en\strings.en.resources al/embed:en\strings.en.resources,strings.en.resources/out:en\strings.resources.dll/c:en 现在当我加载default.aspx时

Literal1控件显示:“您在寻找什么?” 这是App_LocalResources\default.aspx.en.resx中的值,因此是正确的

但是页面标题(Me.Page.Title=rm.GetString(“homewelcome”))显示了bin\strings.txt中的值! 这当然是不正确的,因为我希望它显示bin\en\strings.txt中的值

因此,资源管理器忽略了区域性,而文本使用的是正确的区域性


我在这里遗漏了什么?

为什么不把字符串文件都放在同一个文件夹中呢。我不知道您的设置是什么,但默认情况下,我认为ResourceManager会尝试在同一文件夹中查找资源,如果找不到合适的资源,则返回默认的资源,在您的情况下是strings.txt


.resx文件工作正常(如果您阅读了我的文章,您会看到文本被分配了正确的值)。当我尝试使用rm.getStrings读取资源dll时,是资源dll导致了问题。您为什么不能使用我提供的解决方案?您正在使用.NET1.x吗?您的标记应该反映这一点以及编程语言。 resgen strings.txt strings.resources al /embed:strings.resources,strings.resources /out:strings.dll resgen nl\strings.nl.resources al /embed:nl\strings.nl.resources,strings.nl.resources /out:nl\strings.resources.dll /c:nl resgen en\strings.en.resources al /embed:en\strings.en.resources,strings.en.resources /out:en\strings.resources.dll /c:en