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

时间:2016-02-10 21:17:28

标签: visual-studio debug-symbols buildconfiguration nunit-3.0

我正在使用Visual Studio 2015社区版。在我的项目中,我有NUnit测试,涵盖各种项目。 NUnit测试版本为3.0.1,测试版本为3.0.8.0版本。我有通常的构建配置(DebugRelease)以及我自己创建的另一个:Stress。当我构建DebugRelease时,一切正常。但是,当我在Stress中构建时,我在测试输出构建窗口中收到以下消息:

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.

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

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

这曾经有效 - 我不确定这个问题何时开始发生。

1 个答案:

答案 0 :(得分:0)

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