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

Visual Studio调试本地NuGet包时强制从Git拉取源码求助

环境配置

我们有供其他解决方案使用的内部NuGet包,希望在代码变更推送到Git、NuGet包推送到共享源之前,就能在其他解决方案里本地打包并调试这些包。

问题描述

之前这个工作流运行正常,但现在Visual Studio总是通过Git仓库查找源码。要在其他解决方案里本地修改并调试,每次改完都得推送到Git才能获取正确源码调试,这对日常迭代开发来说完全没法接受。我知道这是SourceLink的特性,但它根本不适合迭代开发场景。

变更情况

没法确定具体改了什么。自从上次处理NuGet包后,我确实更新过Visual Studio,NuGet可能跟着VS一起更新了,除此之外本地测试的构建和打包流程没做任何改动。

已尝试但无效的方案
  • 禁用"SourceLink"
  • 禁用"Just My Code"
  • 从本地测试包中移除Git仓库信息:试过通过.nuspec和.csproj配置移除,但被忽略;手动移除后VS还是能找到Git仓库
  • 创建无符号信息的包
  • 使用新包格式.snupkg
  • 将源码直接包含在.symbols.nupkg或.snupkg中
  • 断开网络,想让VS在下载失败后提示选择其他源码位置
已尝试且部分有效的方案
  • 使用反编译的DLL:能调试,但源码显示不一致,部分变量值无法查看
  • 通过SourceLink从Git下载文件后,把更新后的源码粘贴进去调试:VS能识别出Git下载的源码和程序集不同步,粘贴后的源码哈希匹配,但得逐文件手动操作
  • 直接引用所需程序集:需要为解决方案里的每个子项目手动操作,如果引用能传递会更方便
期望目标
  • 优先希望在NuGet包中包含匹配的源码或本地源码路径,让VS自动识别,等测试完成后再提交代码和包到Git及共享NuGet源
  • 找到办法让VS不使用SourceLink,或者临时配置SourceLink不从仓库拉取而是查找本地资源——目前禁用SourceLink没用,反而会被提示重新启用

最终希望不用频繁推送未测试的变更,也不用做大量手动操作,就能在依赖解决方案中测试和调试本地NuGet包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 19:07:28