【问题标题】:VS2015 unable to debug referenced dll vs2015VS2015无法调试引用的dll vs2015
【发布时间】:2016-03-17 15:23:57
【问题描述】:

我正在开发一个 C# 项目。 它使用了一个我也在同时开发的 dll 库。

在某个时候,我编写了一个不同的单元测试应用程序(新项目) 在我的主应用程序中使用它们之前,在库中测试一些新功能。 单元测试应用,从来没有写在库dll中,只是为了测试新功能。

新功能出现了一些问题,因此我从原始主应用程序 prj 中编辑了 .dll(因为该 prj 包含 .dll 作为附加项目)。

然后我收到一些警告,文件已在我的 mijn prj 之外进行了修改。 但由于我从未从主应用程序外部编辑过 dll。我没有从 mainapp 后面重新加载代码;因为我相信主应用程序包含当前代码。从我的主应用程序中,我仍然可以毫无问题地编译图书馆。

由于我不喜欢那些类似文件锁定的错误,我决定删除测试单元应用程序并包含类似的测试功能,但现在来自我的主要应用程序开发项目。现在一个按钮打开一个测试表单来测试东西。

问题 我现在不能再在我的 dll 源代码中设置断点 当出现问题时,代码执行不会在我的 dll 中出错的地方停止,而是挂在我的 mainapp 中它调用 dll 的位置。

只是我的代码已被禁用,但这还不够。

【问题讨论】:

  • 您的问题与单元测试项目无关。只需确保在运行应用程序时引用的是最新的 DLL 文件和 PDB 文件。尝试重建它并检查 bin/Debug 文件夹中的 DLL 和 PDB 是否具有重建解决方案的最后修改日期,以确保您的引用是最新的。
  • 当我批量编译时,我看到我的构建时间的最后修改更改。所以他们更新,编译不会出现问题。我只是不能在我的 dll 文件中设置任何断点?这曾经是可能的。

标签: c# visual-studio-2015 breakpoints visual-studio-debugging


【解决方案1】:

好吧,我解决了它,但它仍然很奇怪。 以防其他人遇到类似问题,我发布我的解决方案。

这就是我所做的。

我使用解决方案资源管理器从项目中删除了 libray dll。 它只会删除它不会从磁盘中删除的那部分。

然后我转到菜单工具\选项\ 在那里去调试>符号 vs2015 用于符号调试的 pdp 文件的位置。 然后我删除了指向我的 dll 的 pdb 的路径。

保存了我的项目。重启vs2015 再次添加了我的dll文件,文件菜单添加现有的prj 然后在选项调试符号下,我再次添加了我的 dll 发行版的 pdb 文件位置。

=== 那么你可以设置断点但它还不够 === 这些断点将在代码源不相等时出错。

要解决这个问题,请转到构建菜单并执行清理项目 或者,如果在那边使用批量构建,请使用 Clean 然后使用 Build 重新开始

现在您可以设置断点并实际中断它们 ......很神奇吧?

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 2017-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多