为什么自定义构建配置无法加载源位置数据

Why do custom build configurations fail to load source location data

我正在使用 Visual Studio 2015 社区版。在我的项目中,我有涵盖各种项目的 NUnit 测试。 NUnit 测试版本为 3.0.1,测试 运行ner 版本为 3.0.8.0。我有常用的构建配置(DebugRelease)和一个我自己创建的额外配置:Stress。当我在 DebugRelease 中构建时,一切正常。但是,当我构建 Stress 时,我在测试输出构建 window:

中收到以下消息
Unable to create DiaSession for D:\Code\EncounterGen\Tests\Integration\Bootstrap\bin\Stress\EncounterGen.Tests.Integration.Bootstrap.dll
No source location data will be available for this assembly.

这只发生在我的自定义构建配置中。当我 运行 测试时,所有正常链接都断开了 - 双击测试不会将您带到测试 class 中的那个方法,测试失败中的堆栈跟踪将不会你到相关行等。我正在编译 Stress 构建配置中的所有项目。我不确定是什么问题。

Other research 表明 DiaSession 故障来自 NUnit,表明它无法加载源代码 - 这可以解释症状,但不能解释原因。我能找到的唯一一篇讨论它的文章只提到了它做了什么,没有提到为什么它不能为 NUnit 正确加载的问题或错误。

这曾经有效 - 我不确定这个问题是什么时候开始出现的。

问题原来是我的 Stress 构建配置未设置为生成 .pdp 文件。我必须进入每个项目,转到构建选项卡,在选择构建 Stress 时单击高级,然后将 Debug infonone 更改为 full。我怀疑当我为解决方案创建此构建时,我从 Release 而不是 Debug 复制了设置,这就是发生这种情况的原因。