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