我在一个外部库中创建了一个自定义 web 控件,它具有 2 种语言的资源。
我在具有相同 web.config 元素的 2 个不同网站中使用此程序集。
<globalization uiCulture="en-US" culture="en-US" fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" />
在网站 A 中,一切正常,在网站 B 中,字符串以错误的文化显示。
我进行了调试,并且在这两个站点中,线程文化和 uiculture 都是正确的。
奇怪的事实是,由 visualstudio 自动创建的 Resource 对象中的 Culture 属性在两个站点的运行时都为 null。
似乎每个站点和调用时的默认文化都不同:
ResourceManager.GetString("somestring", resourceCulture);
和
resourceCulture==null
线程获得不同的 CurrentUICulture