You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022中无法从Resources.resx生成Resources.Designer.cs文件

问题排查与解决方法

以下是针对你遇到的resx文件无法生成Designer.cs的常见原因及对应解决步骤:

1. 检查重复的资源键

ResXFileCodeGenerator遇到重复的<data>节点name属性时会静默停止生成代码,不会给出任何提示。

  • 打开Resources.resx的XML视图,搜索所有<data name="xxx">条目,检查是否存在重复的name值。
  • 若有重复,删除或重命名其中一个重复条目后,右键运行自定义工具重试。

2. 排查未转义的XML特殊字符

批量添加的翻译文本中如果包含&、<、>、"、'这类XML特殊字符,必须转义才能被代码生成器正常解析(VS资源管理器的显示逻辑对特殊字符容错更高)。

  • 打开resx的XML视图,检查批量添加的字符串内容:
    • 把&替换为&amp;
    • 把<替换为&lt;
    • 把>替换为&gt;
    • 把双引号"替换为&quot;
    • 把单引号'替换为&apos;
  • 保存修改后重新运行自定义工具。

3. 确认自定义工具属性配置

检查resx文件的属性是否被意外修改:

  • 在VS解决方案资源管理器中选中Resources.resx,按F4打开属性窗口
  • 确认自定义工具字段为ResXFileCodeGenerator
  • 确认自定义工具命名空间与项目的Properties命名空间一致(比如项目名为MyWpfApp,这里应为MyWpfApp.Properties)
  • 修改后右键点击resx文件,选择“运行自定义工具”

4. 清理VS缓存与项目编译文件

VS的缓存或旧编译文件可能干扰代码生成:

  • 关闭Visual Studio
  • 删除项目根目录下的.vs隐藏文件夹、bin和obj目录
  • 重新打开项目,右键运行自定义工具

5. 检查resx文件编码

无BOM的UTF-8编码可能导致ResXFileCodeGenerator解析异常:

  • 用VS Code打开resx文件,点击右下角的编码标识(比如“UTF-8”)
  • 选择“通过编码保存”,选择UTF-8 with BOM格式
  • 保存后回到VS中运行自定义工具

6. 通过设计视图查看错误提示

双击Resources.resx打开设计视图,查看顶部是否有红色错误提示。设计视图会显示代码生成器未抛出的格式或内容错误,根据提示修正后重试。

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 23:22:06