VS2015 当前不会命中断点。没有为该文档加载任何符号

VS2015 The breakpoint will not currently be hit. No symbols have been loaded for this document

我有 3 个项目的解决方案。项目一 - 图书馆。项目二 - 服务 (asmx)。项目三 - 测试。在我的服务中,我有两个配置转换:PRODUCTIONTEST。它们是平等的,但数据库的名称不同。我的解决方案:

如果我 调试 使用 PRODUCTION.config 测试,那么没问题 - 我的断点处于活动状态。如果我用 Debug 测试 TEST.config 那就不好了。我明白了:

可能是什么问题?对不起我的英语。

修复:

  1. 鼠标右键单击您的项目
  2. Select 属性
  3. Select 构建 选项卡
  4. 确保定义DEBUG常量定义TRACE常量 是 已检查
  5. 单击构建选项卡底部的高级按钮
  6. 确保调试信息:设置为完整
  7. 单击 确定 并保存更改
  8. 清理解决方案并重建项目

Link 来源 Fixing “The breakpoint will not currently be hit. No symbols have been loaded for this document.”

(第 6 步生成 .pdb 文件,这些是调试符号)


有关详细信息,请参阅下一个屏幕截图。构建设置:

构建的高级设置:

已检查 Microsoft Visual Studio Enterprise 2015 和 Microsoft Visual Studio Professional 2017。

尝试在 <PropertyGroup> 内添加或更新带有标签 <DebugType>full</DebugType>.csproj 文件。这解决了我的问题。

发生这种情况的另一个原因是如果您在解决方案之间共享多个项目并且您已经设置了自定义构建配置then 简单地在工具栏(或其他快捷方式)上从发布更改为调试可能会弄乱活动构建配置并产生各种随机后果。

确保“解决方案”>“属性”>“活动配置”符合您的预期('Mixed' 通常是错误的),如果有疑问,请使用“解决方案”>“配置管理器”。

我又忘记了,管间流行的策略当然没有奏效,所以这部分是给自己的笔记...

作为将来的参考,当您在 GAC 和 bin\Debug 文件夹中拥有相同的程序集时,可能会发生相同的问题。只需从 GAC 中删除程序集,它就会再次运行。

我遇到了类似的问题,我简单地做了以下操作:

转到Debug => Options => General => 删除Enable Just My Code”的复选标记

这对我有用。

Require source files to exactly match the original version

这必须取消选中。

我在多个项目中使用一个解决方案 (Visual Studio 2015)。 就我而言,当我意识到其中一个项目是用另一个 URL 定义的时,问题就解决了:项目属性 - Web - 服务器 - 项目 Url。 更改为使用与其他项目相同的 URL 后,问题就解决了。

Image

我在多个项目中使用一个解决方案 (Visual Studio 2015)。 我尝试了几种方法。这个对我有用。 就我而言,当我意识到其中一个项目是用另一个 URL 定义的时,问题就解决了:项目属性 - Web - 服务器 - 项目 Url。 更改为使用与其他项目相同的 URL 后,问题就解决了。

Image

如果您正在执行多个启动项目,请确保将所有要调试的服务都设置为“开始”

在我的例子中,调试断点未命中的项目也被当时 运行 的另一个解决方案引用。 当我停止该解决方案时,断点开始命中。

首先尝试通过右键单击项目 > 重建来重建项目如果这不起作用,请尝试清理项目(右键单击项目 > 清理)

我遇到了类似的问题,我做了以下操作: Debug=>Options=>General => 去掉“Enable Just My Code”的复选标记 这适用于我的 vs

如果库恰好是 C++ 且 C# 消费者项目实际调用它,则需要转到消费者项目中的属性 -> 启用本机调试,并确保选中此框。