我有这个ASP。我正在使用Visual Studio 2015和。NET 4.6.1开发的。NET web应用程序。我广泛使用本地和全球资源将我的应用本地化为英语(默认)、西班牙语和加利西亚语。在我使用IIS Express的开发机器上,一切正常。但是当我将web应用程序发布到我们的生产服务器时,它在Windows server 2008上使用IIS 7,西班牙语全局资源被忽略,只使用默认的英语和加利西亚语。
我通过web Publish的"文件系统"方法发布web应用程序。据我所知,没有为全局资源部署.resx
文件;相反,名为App_GlobalResources.resources.dll
的文件被部署到bin
、bin/es
和bin/gl
文件夹中。另外,MyNamespace.resources.dll
文件被部署到bin/es
,而不是bin/gl
,这是非常奇怪的。
我还必须说,通过将Thread.CurrentThread.CurrentUICulture
设置为基于en-GB
, es-ES
或gl-ES
的CultureInfo
对象,我正在代码中切换文化。
我已经尝试在我的代码中使用中性(例如,gl
)和本地化(例如,gl-ES
)形式的文化代码来命名全局资源文件。这似乎没有什么区别。此外,本地资源文件使用中性变量命名。
你知道为什么西班牙的全球资源被忽视了吗?谢谢。
正确命名资源文件应该可以工作,例如,您是否尝试使用完整的区域性规范命名文件,例如ResourceTexts.resx
, ResourceTexts.es-ES.resx
和ResourceTexts.gl-ES.resx
。发布后,它们应该在App_GlobalResources
文件夹中可用。