在ASP.NET Web应用程序中忽略其他文化的全局资源

Ces*_*Gon 5 asp.net localization resx

我有这个ASP.NET Web应用程序,我正在使用Visual Studio 2015和.NET 4.6.1进行开发.我广泛使用本地和全球资源将我的应用本地化为英语(默认),西班牙语和加利西亚语.在我使用IIS Express的开发机器上,一切正常.但是,当我将Web应用程序发布到使用Windows Server 2008上的IIS 7的生产服务器时,将忽略西班牙语全局资源,并且仅使用默认的英语和加利西亚语.

我通过Web Publish的"文件系统"方法发布Web应用程序.据我所知,没有.resx为全球资源部署文件; 相反,命名文件App_GlobalResources.resources.dll被部署到bin,bin/esbin/gl文件夹.另外,MyNamespace.resources.dll部署文件bin/es但不是bin/gl,这非常奇怪.

我也必须说,我切换的文化在我的代码设置Thread.CurrentThread.CurrentUICulture到一个CultureInfo基于两个对象en-GB,es-ESgl-ES.

我尝试使用中性(例如gl)和gl-ES文化代码的本地化(例如)形式在我的代码中命名全局资源文件.这似乎没有任何区别.此外,本地资源文件使用中性变体命名.

有没有想过西班牙全球资源被忽视的想法?谢谢.

Owu*_*uor 5

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