ASP.NET 网络应用程序忽略了其他文化的全球资源
Global resources for additional cultures being ignored on ASP.NET web app
我正在使用 Visual Studio 2015 和 .NET 4.6.1 开发这个 ASP.NET Web 应用程序。我广泛使用本地和全球资源将我的应用程序本地化为英语(默认)、西班牙语和加利西亚语。在我使用 IIS Express 的开发机器上,一切正常。但是当我将 Web 应用程序发布到我们的生产服务器时,它在 Windows Server 2008 上使用 IIS 7,西班牙语全局资源将被忽略,只使用默认的英语和加利西亚语。
我正在通过 Web Publish 的 "file system" 方法发布 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
或 [=23] 的 CultureInfo
对象来切换文化=].
我曾尝试使用文化代码的中性(例如,gl
)和本地化(例如,gl-ES
)形式来命名我的代码中的全局资源文件。这似乎没有任何区别。此外,本地资源文件使用中性变体命名。
知道为什么西班牙的全球资源被忽略了吗?谢谢。
正确命名资源文件应该可以,例如您是否尝试过使用完整的文化规范命名文件,例如ResourceTexts.resx
、ResourceTexts.es-ES.resx
和 ResourceTexts.gl-ES.resx
。发布后,它们应该可以在 App_GlobalResources
文件夹中找到。
我正在使用 Visual Studio 2015 和 .NET 4.6.1 开发这个 ASP.NET Web 应用程序。我广泛使用本地和全球资源将我的应用程序本地化为英语(默认)、西班牙语和加利西亚语。在我使用 IIS Express 的开发机器上,一切正常。但是当我将 Web 应用程序发布到我们的生产服务器时,它在 Windows Server 2008 上使用 IIS 7,西班牙语全局资源将被忽略,只使用默认的英语和加利西亚语。
我正在通过 Web Publish 的 "file system" 方法发布 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
或 [=23] 的 CultureInfo
对象来切换文化=].
我曾尝试使用文化代码的中性(例如,gl
)和本地化(例如,gl-ES
)形式来命名我的代码中的全局资源文件。这似乎没有任何区别。此外,本地资源文件使用中性变体命名。
知道为什么西班牙的全球资源被忽略了吗?谢谢。
正确命名资源文件应该可以,例如您是否尝试过使用完整的文化规范命名文件,例如ResourceTexts.resx
、ResourceTexts.es-ES.resx
和 ResourceTexts.gl-ES.resx
。发布后,它们应该可以在 App_GlobalResources
文件夹中找到。