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

VS2022更新至17.2后无法找到.g.cs自动生成文件致构建失败

VS2022 17.2版本XAML对应.g.cs文件缺失构建失败修复

按操作优先级依次尝试,所有操作前先完全退出所有正在运行的Visual Studio进程:

  • 清理旧生成缓存:删除解决方案根目录下的隐藏.vs文件夹,同时删除所有项目子目录下的bin、obj文件夹,重新打开解决方案后执行「重新生成解决方案」,不要使用增量生成。如果是单文件偶发缺失,直接右键点击对应报错关联的.xaml文件,选择「运行自定义工具」即可强制触发单文件的.g.cs生成。
  • 修复.csproj配置冲突:VS2022 17.2版本调整了XAML编译器的默认判定逻辑,和VS2019时期的旧配置存在兼容问题。右键项目选择「编辑项目文件」,检查所有.xaml文件的引用配置:

    不要给.xaml.cs后置代码文件添加任何Generator标记,否则会被新版本编译器误判为生成项,跳过对应XAML文件的.g.cs生成流程。
    标准的XAML文件引用配置如下,删除多余的重复配置项:

    <Page Include="**\*.xaml">
      <SubType>Designer</SubType>
      <Generator>MSBuild:Compile</Generator>
    </Page>
    
  • 关闭存在bug的XAML热重载功能:17.2版本的XAML热重载模块存在文件锁冲突,会随机拦截obj目录下.g.cs文件的写入,直接导致偶发生成失败。打开VS顶部菜单「工具-选项-调试-热重载」,取消勾选启用XAML热重载、保存文件时应用热重载两个选项,重启VS后重新生成即可。
  • 重置损坏的编译组件缓存:打开VS2022开发者命令提示符,依次执行以下命令修复XAML编译组件的注册状态:
    gacutil /u Microsoft.Windows.Design.Markup.Compiler
    devenv /updateconfiguration
    msbuild /restore
    
  • 长期兼容配置:如果以上操作都无法解决问题,可在项目.csproj文件的第一个<PropertyGroup>节点下添加如下配置,强制回退到和VS2019完全一致的XAML生成逻辑,不会影响项目调试、发布的正常流程:
    <UseWPFXamlCompiler>false</UseWPFXamlCompiler>
    <EnableXamlHotReload>false</EnableXamlHotReload>
    

注意不要将obj、bin目录纳入源代码管理,如果版本库中存在之前提交的旧.g.cs缓存文件,先全部清理删除,否则会干扰VS的增量生成判定逻辑,导致新的生成文件被跳过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:18:19