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

Visual Studio 17.4.4多项目调试输出相对路径双击异常

问题:Visual Studio 17.4.4 多项目解决方案调试输出路径跳转异常

升级至Visual Studio 17.4.4后,多项目解决方案中出现以下异常:
双击调试输出中以解决方案相对路径开头的行时,会打开一个无语法高亮、无导航功能的纯文本文件标签页——即便该文件已在编辑器中打开。

此前将[CallerFileName]或StackFrame.GetFileName()返回的绝对路径转为相对路径后,VS可正常识别跳转,但该逻辑仅在单项目(项目与解决方案同目录)场景下仍能正常工作。

复现步骤

  • 创建控制台应用ConsoleApp2,取消勾选“将解决方案和项目放在同一目录”选项;
  • 在Program.cs末尾添加代码:System.Diagnostics.Debug.WriteLine( "ConsoleApp2\\Program.cs(4): Hello, Output Window!" );;
  • 编译解决方案,关闭后重新打开;
  • 启动调试,双击输出窗口中对应行。

预期与实际行为

  • 预期行为:切换至已打开的文件标签,定位到对应行,保留所有编辑器功能;
  • 实际行为:打开新的无功能纯文本标签,无法正常使用编辑器功能,点击“打开包含文件夹”会报错。

环境:C#、ReSharper,测试覆盖.NET Framework 4.6.2和.NET 7.0。

可行解决方案

  1. 改用绝对路径输出
    暂时放弃相对路径,直接输出StackFrame.GetFileName()返回的绝对路径,调试输出双击后可正常跳转至已打开的编辑器标签,保留所有功能。

  2. 修复VS/插件适配问题
    该问题为VS 17.4.4已知bug,可尝试以下操作:

    • 重置VS设置:打开工具→导入和导出设置向导→重置所有设置,选择默认设置后重启VS;
    • 临时禁用ReSharper:在工具→ReSharper→暂停,重启调试后验证是否恢复,若正常则等待ReSharper适配VS版本的更新;
    • 回退至VS 17.4.3:通过Visual Studio Installer卸载当前版本,安装17.4.3版本,该版本未出现此路径跳转异常。
  3. 调整输出路径格式
    输出相对路径时,使用项目根目录相对路径而非解决方案相对路径,例如将输出内容改为Program.cs(4): Hello, Output Window!(需确保调试输出上下文能识别当前项目路径),VS可正确解析并跳转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:10:54