应用程序中的资源

几乎每一个生产性应用程序都需要使用资源。 资源是在逻辑上由应用程序部署的任何非可执行数据。 资源可以在应用程序中作为错误消息显示,或者作为用户界面的一部分显示。 资源可以包含多种形式的数据,包括字符串、图像和持久的对象。 通过在资源文件中存储您的数据,您无需重新编译整个应用程序即可更改数据。 请注意,为了将持久对象写入资源文件,这些对象必须是可序列化的。

.NET Framework 对资源的创建和本地化提供全面的支持。 此外,.NET Framework 还支持一个用于打包和部署这些本地化资源的简单模型。

有关 ASP.NET 中资源的信息,请参见 ASP.NET 网页资源概述

创建和本地化资源

您可以将应用程序的资源本地化为用于特定的区域性。 这使您可以生成应用程序的本地化(翻译的)版本。 应用程序基于 CultureInfo.CurrentUICulture 属性的值加载适当的本地化资源。 该值既可以在应用程序的代码中显式设置,也可由公共语言运行时基于本地计算机上当前用户的区域设置进行设置。 有关如何设置 CurrentUICulture 的更多信息,请参见定位和使用特定区域性的资源使用 CurrentUICulture 属性

打包和部署资源

您可以在附属程序集中部署应用程序的资源。 按照定义,附属程序集只包含资源文件。 附属程序集不包含任何应用程序代码。 在附属程序集部署模型中,您所创建的应用程序具有一个默认程序集(作为主程序集)和几个附属程序集。 您应该为该应用程序支持的每个区域性均创建一个附属程序集。 因为附属程序集不是主程序集的一部分,所以您不必替换该应用程序的主程序集,即可很容易地替换或更新与特定区域性相关的资源。

确定哪些资源将构成应用程序的默认资源程序集时要谨慎。 因为默认资源程序集是主程序集的一部分,对它做任何更改都将要求您替换主程序集。 如果您没有提供默认资源,则在资源后备进程尝试查找默认资源时,将会引发异常。 在设计良好的应用程序中,使用资源应永远不会引发异常。

请参见

参考

CultureInfo.CurrentUICulture

概念

使用 CurrentUICulture 属性

打包和部署资源

其他资源

编码和本地化