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

Visual Studio 2022调试问题:临时C#文件干扰ASP.NET WebForms运行

调试器使用预期源文件及.NET Framework版本目录问题解答

一、让调试器使用项目中原始security.vb文件的解决步骤

你的问题核心是调试符号(.pdb文件)与源代码不匹配,导致调试器无法关联到原始文件,转而生成临时反编译文件。按以下步骤修复:

  • 重新生成匹配的调试符号
    之前删除MY_CLASS.pdb后,调试器失去了代码与二进制文件的关联信息,执行以下操作:

    1. 点击Visual Studio顶部菜单的Build -> Clean Solution,彻底清理所有编译生成文件
    2. 再点击Build -> Rebuild Solution,重新编译整个解决方案,这会在类库的bin\Debug目录生成与当前源代码完全匹配的.pdb和.dll文件
  • 检查类库项目的调试符号生成设置
    右键类库项目 -> 属性 -> 编译(VB项目的编译选项卡),确保生成调试信息设置为「完整」或「pdb-only」,这是构建时生成正确符号文件的前提。

  • 调整Visual Studio调试选项

    1. 打开工具 -> 选项 -> 调试 -> 常规:
      • 取消勾选「启用仅我的代码」(避免调试器跳过类库代码的调试)
      • 勾选「要求源文件与原始版本匹配」(确保调试器只使用与构建版本一致的源文件)
    2. 打开工具 -> 选项 -> 调试 -> 符号:
      • 确认本地符号搜索路径包含类库的bin\Debug目录(默认会自动识别,若未识别可手动添加)
  • 清理调试缓存与临时文件
    删除以下目录的内容,然后重启Visual Studio:

    • 临时调试源文件目录:C:\Users\user\AppData\Local\Temp\.vsdbgsrc
    • ASP.NET临时文件目录:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

二、关于.NET Framework 4.8与临时目录v4.0.30319的疑问

这是正常现象,不会影响调试。.NET Framework 4.x系列(包括4.8)都基于CLR 4.0运行,v4.0.30319是CLR的版本号,而非框架版本号。所有4.x版本的.NET Framework都会共用这个CLR的临时文件目录,不存在版本不匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:32:45