无法在Visual Studio 2015中使用Telerik Open Access调试ASP MVC项目

时间:2016-07-13 20:41:42

标签: c# visual-studio visual-studio-2015 visual-studio-debugging telerik-open-access

我无法调试项目。我得到“断点当前不会被命中。没有为此文档加载符号”错误。我已经尝试过我能在网上找到的所有东西,但没有任何效果。我希望那里会有一双新鲜的眼睛来找到问题。

首先,我从一位离开的同事那里继承了这个项目。他在他的机器上进行了开发,在那里他能够调试它。他把它上传到Subversion,这是我得到它的地方。另一位同事能够下载并调试,但我不能。

其次,我正在使用Visual Studio 2015.该项目是一个asp MVC项目。解决方案中有两个项目:包含视图,控制器,模型等的主项目和仅包含Telerik.OpenAccess代码(“数据层”)的辅助项目。这是我无法调试的第二个项目。

*更新*

根据另一个主板上的建议,我在主项目中找到了一个断点并转到Debug-Windows-Modules,在那里我可以看到消息“Binary没有使用调试信息构建”。我去了显示的文件夹,可以看到我的pdb文件没有与我最新的dll填充同时进行。我的项目设置为调试模式和构建。我需要更改什么才能将pdb文件与我的dll一起重新创建?

enter image description here

*结束更新*

所以这里是主要项目中的线路,我得到了断点:

rep.UpdateWorkOrderVendorHeader(oaObj);

断点在这里命中。它在二级项目中调用一个函数。当我尝试进入该功能时,它会跳到主项目的下一行。如果我查看辅助项目,我会看到“符号未加载错误”。我也直接在辅助项目中有一个断点,但它仍被跳过:

enter image description here

我发现了两个覆盖各种场景的stackoverflow流,但没有任何对我有用:

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

The breakpoint will not currently be hit. No symbols have been loaded for this document in a Silverlight application

以下是我认为到目前为止我尝试过的所有内容,但我可能错过了一些内容:

  • 重新启动Visual Studio
  • 从可能调试辅助项目的同事中删除代码和复制的代码
  • 构建 - 清洁和重建&清理和构建
  • 删除bin和obj文件夹
  • 检查配置设置为调试和构建
  • 在项目属性中检查已检查的调试和跟踪常量
  • 单击“调试 - 在辅助项目上启动新实例”
  • 选择多个启动项目(抛出错误,说明无法直接启动辅助项目)
  • 在IE中调试而不是Chrome
  • 检查主项目中对辅助项目的引用是否具有正确的目录
  • 检查项目 - 属性 - 构建 - 优化代码未选中
  • 检查项目 - 属性 - 构建 - 高级设置对于两个项目都是相同的
  • 检查项目 - 属性 - 构建 - 高级 - 输出已设置为完整
  • 添加到辅助项目的App.config
  • 确保我以管理员身份运行Visual Studio
  • 检查项目 - 属性 - 构建 - 输出路径是/ bin

我将在下面列出配置和属性的截图。下面还是我的项目树的描述,其中包含一些相关文件。我很感激你能给我的任何建议。谢谢!

Koorsen(主要项目)

  • 参考
    • Koorsen.OpenAccess(二期项目)
      • C:\的Inetpub \ wwwroot的\ Koorsen \ Koorsen.OpenAccess \ BIN \调试\ Koorsen.OpenAccess.dll
    • Koorsen.dll
    • Koorsen.pdb

Koorsen.OpenAccess(二级项目)

    • 调试
    • Koorsen.OpenAccess.dll.config
    • Koorsen.OpenAccess.pdb
    • Koorsen.OpenAccess.dll
    • Telerik.OpenAccess.35.Extensions.dll
    • Telerik.OpenAccess.35.Extensions.xml
    • Telerik.OpenAccess.dll
    • Telerik.OpenAccess.xml
  • 推出
    • Koorsen.OpenAccess.dll
    • Koorsen.OpenAccess.dll.config
    • Koorsen.OpenAccess.pdb
    • Telerik.OpenAccess.35.Extensions.dll
    • Telerik.OpenAccess.35.Extensions.xml

配置管理器: enter image description here

构建属性: enter image description here

主项目的高级调试属性: enter image description here

辅助项目的高级调试属性: enter image description here

1 个答案:

答案 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项目。