在ASP上忽略其他区域性的全局资源.. NET web应用程序



我有这个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的文件被部署到binbin/esbin/gl文件夹中。另外,MyNamespace.resources.dll文件被部署到bin/es,而不是bin/gl,这是非常奇怪的。

我还必须说,通过将Thread.CurrentThread.CurrentUICulture设置为基于en-GB, es-ESgl-ESCultureInfo对象,我正在代码中切换文化。

我已经尝试在我的代码中使用中性(例如,gl)和本地化(例如,gl-ES)形式的文化代码来命名全局资源文件。这似乎没有什么区别。此外,本地资源文件使用中性变量命名。

你知道为什么西班牙的全球资源被忽视了吗?谢谢。

正确命名资源文件应该可以工作,例如,您是否尝试使用完整的区域性规范命名文件,例如ResourceTexts.resx, ResourceTexts.es-ES.resxResourceTexts.gl-ES.resx。发布后,它们应该在App_GlobalResources文件夹中可用。

最新更新