在Visual Studio 2015中没有生成pdb

时间:2015-08-17 14:14:29

标签: c# debugging visual-studio-2015

当我在VS2013(Ultimate)中打开它时,我有一个解决方案可以正常工作,但是当我在VS2015(Enterprise)中打开它时,其中两个项目不生成调试信息。

一个项目是MVC 5应用程序,另一个是类库。解决方案中的所有项目都设置为.net 4.5,并且所有项目都设置为调试模式

两个项目的高级设置都设置为完整并且看起来没有问题编译,但是当我打开Debug>时Windows>站点运行时的模块窗口,这两个二进制文件的符号状态中“二进制文件没有使用调试信息构建”(解决方案中的每个其他二进制文件都正确加载符号)

我删除了bin / obj文件夹,清除了临时的asp.net文件,重新启动了VS和windows(10)并且没有运气

这会影响其他团队成员,因此它似乎不是我的环境的问题

另外,如果我在VS2013中编译,VS2015会毫无问题地使用pdb,它就不会自己生成它们

我假设这是VS2015中某处的设置/功能/错误,但我不确定我还能检查/更改其他内容

编辑:web项目将web.config设置为debug =“true”并且不受配置转换的影响

4 个答案:

答案 0 :(得分:30)

事实证明这是PostSharp的问题

项目都引用了版本3.1.52 - 升级到4.1.21之后我们现在再次生成pdb

我不太确定问题是什么或为什么会以这种方式表现出来,但希望这可能会阻止其他人像我一样撞到墙上!

答案 1 :(得分:13)

如果在项目中使用旧版本的 Telerik开放数据访问,则会出现同样的问题。在通过VS2013构建时,Project生成pdp文件,但在使用VS2015构建时不会执行相同的操作。

找出它需要最新版本Q2(没有可视化设计器 - 2015年第1版Telerik Data Access是分发Visual Studio集成和代码生成功能的最后一个版本)是痛苦和耗费时间的。

无论如何阅读Telerik支持博客http://www.telerik.com/forums/visual-studio-2015-ctp6-does-not-generate-pdb-file

答案 2 :(得分:11)

实际上,调试与pdb&是否生成无关。很多人为生产版本生成pdb,并将它们保存在本地符号存储中。 无论如何,尝试转到项目下的构建选项卡,然后转到Advanced并将调试信息设置为pdb-only或full。

答案 3 :(得分:1)

我不得不在* .csproj文件中手动添加<DebugType>pdbonly</DebugType>到PropertyGroup,并且与我正在调试的构建配置具有匹配条件。