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

时间:2016-04-06 08:35:57

标签: c# unit-testing web-config

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

Solution

如果我调试使用 PRODUCTION.config 进行测试,则可以 - 我的断点处于活动状态。如果我调试使用 TEST.config 进行测试则不好。我明白了:

The breakpoint will not currently be hit

可能是什么问题?抱歉我的英文。

11 个答案:

答案 0 :(得分:11)

定影:

  1. 右键单击您的项目
  2. 选择 属性
  3. 选择 构建 标签
  4. 确保 定义DEBUG常量 定义TRACE常量 检查
  5. 点击构建标签页底部的 高级 按钮
  6. 确保 调试信息: 设置为 完整
  7. 点击 确定 并保存更改
  8. 清洁解决方案并重建项目
  9. 链接到来源Heredoc

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

答案 1 :(得分:1)

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

确保解决方案>属性>活动配置符合您的期望(“混合”通常很糟糕),如有疑问,请使用解决方案>配置管理器。

我又忘记了 ,而在插管上流行的战术当然行不通,所以这在一定程度上是对自我的注意...

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我有类似的问题,我只是做了以下事情:

转到function connectadmin($level) { if ($level === "Administrator"){ include('admin/home.php'); }elseif ($level === "Member"){ include('member/home.php'); } } connectadmin($level); => Debug => Options => 删除复选标记General

Uncheck this one. 这对我有用。

答案 4 :(得分:0)

尝试使用.csproj内的代码<DebugType>full</DebugType>添加或更新<PropertyGroup>文件。这解决了我的问题。

答案 5 :(得分:0)

  

要求源文件与原始版本完全匹配

必须取消选中它。

enter image description here

答案 6 :(得分:0)

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

Image

答案 7 :(得分:0)

我正在将解决方案用于多个项目(Visual Studio 2015)。 我尝试了几种方法。这个为我工作。 以我为例,当我意识到在以下项目中使用另一个URL定义了一个项目时,该问题得以解决:项目属性-Web-服务器-Project Url。 更改为使用与其他项目相同的URL后,问题得以解决。

Image

答案 8 :(得分:0)

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

Solution Properties > Startup

答案 9 :(得分:0)

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

答案 10 :(得分:0)

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

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