Visual Studio 2022调试问题:临时C#文件干扰ASP.NET WebForms运行
调试器使用预期源文件及.NET Framework版本目录问题解答
一、让调试器使用项目中原始security.vb文件的解决步骤
你的问题核心是调试符号(.pdb文件)与源代码不匹配,导致调试器无法关联到原始文件,转而生成临时反编译文件。按以下步骤修复:
重新生成匹配的调试符号
之前删除MY_CLASS.pdb后,调试器失去了代码与二进制文件的关联信息,执行以下操作:- 点击Visual Studio顶部菜单的
Build->Clean Solution,彻底清理所有编译生成文件 - 再点击
Build->Rebuild Solution,重新编译整个解决方案,这会在类库的bin\Debug目录生成与当前源代码完全匹配的.pdb和.dll文件
- 点击Visual Studio顶部菜单的
检查类库项目的调试符号生成设置
右键类库项目 -> 属性 -> 编译(VB项目的编译选项卡),确保生成调试信息设置为「完整」或「pdb-only」,这是构建时生成正确符号文件的前提。调整Visual Studio调试选项
- 打开
工具->选项->调试->常规:- 取消勾选「启用仅我的代码」(避免调试器跳过类库代码的调试)
- 勾选「要求源文件与原始版本匹配」(确保调试器只使用与构建版本一致的源文件)
- 打开
工具->选项->调试->符号:- 确认本地符号搜索路径包含类库的
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
相关产品推荐
相关产品推荐

