我无法调试项目。我得到“断点当前不会被命中。没有为此文档加载符号”错误。我已经尝试过我能在网上找到的所有东西,但没有任何效果。我希望那里会有一双新鲜的眼睛来找到问题。
首先,我从一位离开的同事那里继承了这个项目。他在他的机器上进行了开发,在那里他能够调试它。他把它上传到Subversion,这是我得到它的地方。另一位同事能够下载并调试,但我不能。
其次,我正在使用Visual Studio 2015.该项目是一个asp MVC项目。解决方案中有两个项目:包含视图,控制器,模型等的主项目和仅包含Telerik.OpenAccess代码(“数据层”)的辅助项目。这是我无法调试的第二个项目。
*更新*
根据另一个主板上的建议,我在主项目中找到了一个断点并转到Debug-Windows-Modules,在那里我可以看到消息“Binary没有使用调试信息构建”。我去了显示的文件夹,可以看到我的pdb文件没有与我最新的dll填充同时进行。我的项目设置为调试模式和构建。我需要更改什么才能将pdb文件与我的dll一起重新创建?
*结束更新*
所以这里是主要项目中的线路,我得到了断点:
rep.UpdateWorkOrderVendorHeader(oaObj);
断点在这里命中。它在二级项目中调用一个函数。当我尝试进入该功能时,它会跳到主项目的下一行。如果我查看辅助项目,我会看到“符号未加载错误”。我也直接在辅助项目中有一个断点,但它仍被跳过:
我发现了两个覆盖各种场景的stackoverflow流,但没有任何对我有用:
Fixing "The breakpoint will not currently be hit. No symbols have been loaded for this document."
以下是我认为到目前为止我尝试过的所有内容,但我可能错过了一些内容:
我将在下面列出配置和属性的截图。下面还是我的项目树的描述,其中包含一些相关文件。我很感激你能给我的任何建议。谢谢!
Koorsen(主要项目)
Koorsen.OpenAccess(二级项目)
答案 0 :(得分:0)
没有得到答案,但我能够在几天的反复试验中解决这个问题。在此处发布以防万一它可以帮助某人。这就是我最终要做的事情。
在主项目中放置一个断点并运行解决方案。当它达到断点时,我去了Debug-> Windows-> Modules。找到辅助项目的dll名称,并记下它尝试使用的文件夹。我的情况是在C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ vs \ 213421ba \ 66682af2 \ assembly \ dl3 \ e121f20c \ 957624fe_d9ded101。 dll和pdb文件的日期不同。重建项目; dll已更新,但不是pdb。在另一个论坛中发现建议删除dll和pdb并重建。这没有用;重新创建了dll,但不是pdb。我删除了整个vs文件夹。
使用NuGet包管理器卸载并重新安装2个Telerik数据访问包到所有项目。
删除了辅助和主项目中的bin和obj文件夹。可能已经能够在二级项目中做到这一点。
此时编译了二级项目,但主项目没有。
必须从第三方扩展程序将一些dll文件添加回主项目的bin文件夹。
仍然无法编译。将每个引用,bin和obj文件与遇到相同问题的同事进行比较,但尚未尝试修复能够进行调试。找到3个额外的参考。删除它们,项目再次工作,我能够调试Telerik Open Access项目。