首页 > 解决方案 > 为什么调试测试代码时生产程序集中的断点不起作用?

问题描述

我有一个带有生产程序集和测试程序集的 Web 项目。当我在 Visal Studio 2017 社区版中调试我的代码时,我可以设置断点。但是当我调试我的测试代码时,突然之间,生产程序集中的断点不再起作用。

工具提示显示了这个非常熟悉的错误消息:

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

我的项目结构是我有一个项目文件夹和 UnitTes 项目的文件夹。

我的生产程序集MyProj.Web的命名空间是,我的 UnitTest 项目的命名空间是MyProj.Web.UnitTests.

我检查了测试项目的 bin\Debug 文件夹是否包含所需的所有内容,它确实包含测试 dll,包括 pdbs,生产 dll 也包括 pdbs。我已经检查了代码是否真的在这个文件夹中运行并且确实如此。

我怀疑我在这里做错了什么,但是什么?

标签: c#visual-studiodebuggingbreakpoints

解决方案


如果您在附加调试器之前发布文件,请确保使用正确的调试配置构建程序集

在此处输入图像描述

还要检查构建选项卡下每个项目的项目属性,在下图所示的高级部分中,从调试信息下拉列表中选择“完整”。这将确保您能够将调试器附加到程序集。

在此处输入图像描述


推荐阅读