VS 2022中.NET 8 WinForms项目Resources类无法自动重新生成
.NET 8 WinForms Resources类不自动重建的解决办法
检查项目文件配置
- 直接打开项目的
.csproj文件,核对资源相关配置:- 确保
Properties\Resources.resx的生成器设置为ResXFileCodeGenerator,且指定正确的输出文件:<EmbeddedResource Include="Properties\Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.cs</LastGenOutput> </EmbeddedResource> - 对应的
Resources.Designer.cs需配置为自动生成模式:<Compile Include="Properties\Resources.Designer.cs"> <AutoGen>True</AutoGen> <DesignTime>True</DesignTime> <DependentUpon>Resources.resx</DependentUpon> </Compile>
- 确保
手动触发资源类生成
- 在VS中右键点击
Resources.resx文件,选择运行自定义工具,强制触发ResXFileCodeGenerator重新生成Resources.Designer.cs。 - 若右键无此选项,打开命令行进入项目目录,执行MSBuild命令:
msbuild /t:GenerateResources
排查VS设置与日志
- 打开VS的工具 > 选项 > 项目和解决方案 > 生成并运行,将“MSBuild项目生成输出详细程度”设为详细或诊断,重新生成项目后查看输出窗口,寻找资源生成相关的隐藏错误。
- 查看VS活动日志:点击帮助 > 打开活动日志,搜索“ResX”或“Resources”相关条目,排查异常信息。
其他排查步骤
- 检查
Resources.resx文件完整性:用文本编辑器打开,确认XML格式正常,无未闭合标签或乱码。 - 重置VS设置:通过工具 > 导入和导出设置 > 重置所有设置排除配置异常(提前备份个人设置)。
- 升级VS版本:当前17.9.2可能存在已知bug,尝试更新至最新的17.9.x补丁版或17.10正式版。
内容的提问来源于stack exchange,提问作者infero
相关产品推荐
相关产品推荐

