ASP.NET Web应用程序

时间:2016-10-25 17:09:53

标签: asp.net localization resx

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

我正在通过"文件系统发布网络应用程序" Web发布的方法。据我所知,没有为全球资源部署.resx个文件;相反,名为App_GlobalResources.resources.dll的文件会部署到binbin/esbin/gl文件夹中。此外,MyNamespace.resources.dll文件已部署到bin/es但未部署bin/gl,这非常奇怪。

我还必须说,我正在根据Thread.CurrentThread.CurrentUICultureCultureInfoen-GBes-ES设置为gl-ES对象,从而在我的代码中切换文化

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

为什么西班牙全球资源被忽视的任何想法?感谢。

1 个答案:

答案 0 :(得分:4)

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