管理应用程序资源

资源文件是应用程序使用的不可编译的文件,例如图标文件或音频文件。 由于这些文件不是编译过程的一部分,因此你可以更改它们而无需重新编译二进制文件。 如果打算本地化你的应用程序,则应为本地化应用程序时需要进行更改的所有字符串和其他资源使用资源文件。

注意

.resx 文件中的资源可以使用不安全BinaryFormatter 进行序列化。 仅在你信任的生成过程中包含这些 .resx 文件。

有关 .NET 应用中的资源的详细信息,请参阅 .NET 应用中的资源

使用资源

在托管代码项目中,打开项目属性窗口。 可通过以下任一方法来打开属性窗口:

  • 右键单击解决方案资源管理器中的项目节点,并选择属性
  • Ctrl+Q 搜索框中键入项目属性
  • 解决方案资源管理器中,按 Alt+Enter

选择资源选项卡。如果你的项目尚未包含 .resx 文件,你可以添加一个,添加和删除不同类型的资源,并修改现有资源。

Visual Studio 2022 及更高版本中的资源浏览器改进

从 Visual Studio 2022 版本 17.11 开始,资源浏览器已显著改进。 请参阅改进后的 Visual Studio 资源浏览器器简介

若要使用新的资源浏览器,需要有一个包含一个或多个资源文件的 .NET 项目 (.resx)。 若要打开资源浏览器,请右键单击解决方案资源管理器中的任何资源文件,然后选择打开方式>资源浏览器。 或者,页可以使用键盘快捷键 Ctrl+Alt+R

打开新的资源浏览器时,左侧会显示与每个文件的区域设置一起存储的所有资源的概览。 可以配置数据网格中可见的区域设置。 利用此界面,可并行比较翻译并就地编辑翻译。

资源网格视图的屏幕截图。

搜索资源字符串

在网格左上角,可以使用搜索框输入针对所有资源文件的搜索文本。 若要搜索资源,请在工具栏的搜索框中键入,然后按 Enter 键。 数据网格将仅显示名称、值或注释与查询匹配的资源。 可以使用通配符 (*) 执行部分匹配,使用引号 (") 执行完全匹配。

向资源的特定翻译添加注释

注释是为资源提供更多信息或上下文的有用方法,例如字符串的含义、用法或语气。 在资源浏览器中,可以向资源的每个翻译添加注释,并在数据网格中一次性查看这些注释。

若要向资源添加注释,请选择与要注释的翻译对应的单元格,然后单击工具栏上的“编辑注释”按钮,或按 Shift+Enter 组合键。 注释框显示在单元格下方,可在其中键入注释。 按 Enter 键保存注释,或按 Esc 键将其丢弃。

通过单击注释框或使用同一键盘快捷键,可以编辑或删除现有注释。 若要查看资源的所有注释,请在具有注释的每个单元格的角落中查找小三角形图标。 可以将鼠标悬停在图标上,以查看带注释文本的工具提示,或单击图标以打开注释框。

注释可供资源文件的多个用户使用。 翻译器、开发人员或资源管理器可以在翻译旁边留下说明、问题、解释或注意事项。 每个单元格角落的小图标都指示存在注释。

资源浏览器中注释 UI 的屏幕截图。

筛选资源

若要筛选资源,请单击工具栏上的筛选器图标,然后选择要应用的条件。 可以按名称、值、注释、类型或文件筛选资源。

Filter 说明
Name 仅显示具有特定名称或前缀的资源。
仅显示具有特定值或包含特定字符串的资源。
评论 仅显示具有注释或在其注释中包含特定字符串的资源。
类型 仅显示具有特定类型的资源,例如字符串、图像或图标。
文件 仅显示属于特定文件或区域性的资源。

可以合并多个筛选器,以缩小结果范围,以及单击“清除筛选器”按钮将其清除。

验证和警告

占位符是运行时将被动态值替换的特殊令牌,例如 {0}{1}{name}。 如果在资源中使用占位符,则需要确保在所有本地化中保持一致,否则可能会在应用中看到错误或意外行为。

新的资源浏览器会自动验证每个资源的占位符,并在默认区域性和任何其他本地化之间不匹配时显示警告图标。 例如,如果资源的默认值为“Hello, {name}!”,并且西班牙语值为“Hola, {nombre}!”,则会看到一个警告图标,其中显示占位符名称不同。 可以将鼠标悬停在图标上,以查看包含不匹配详细信息的工具提示,然后单击该图标进行修复。

缺少翻译是影响应用用户体验的另一个常见问题。 如果未为特定区域性中的资源提供翻译,应用将回退到默认区域性,这对于某些用户来说可能不当或不理想。 如果某个区域性中的资源没有值,通过显示警告图标,资源浏览器有助于避免出现此问题。 例如,如果>某个资源具有默认值 File 且没有法语区域性的值,则会看到一个警告图标,其中显示缺少翻译。 可以将鼠标悬停在图标上,以查看带有“无值”消息的工具提示,然后选择图标来添加值。

检测到缺少翻译时的资源浏览器屏幕截图。

自定义选项

Visual Studio 2022 及更高版本中的资源浏览器与屏幕阅读器和辅助技术兼容,使具有视觉障碍或残障的开发人员更易于访问。 可以使用键盘快捷键在数据网格中导航、编辑值和注释,以及执行常见操作。 还可以使用讲述人读取每个单元格的内容,以及工具提示和警告。

若要调整缩放级别,请使用工具栏上的缩放滑块或键盘快捷键 Ctrl+=Ctrl+- 放大或缩小。使用 Ctrl+0 组合键可将缩放级别重置为默认值。

资源浏览器的主题与 Visual Studio 环境的其余部分保持一致。 可以在浅色、深色或蓝色主题之间进行选择,资源浏览器将相应地进行调整。 还可以使用工具>选项>环境>字体和颜色对话框更改数据网格的字体和颜色。

其他项目类型中的资源

.NET 项目中管理资源的方式与其他项目类型不同。 若要详细了解以下各项中的资源:

支持选项

如果在管理应用程序资源时遇到问题,请参阅排查资源编辑器中的错误