在启用优化或没有调试信息的情况下构建

时间:2009-12-23 13:57:19

标签: c# msbuild turbine

我目前正试图找出我InjectableAttributes never get to the filter part的原因 因此我直接在源项目中链接,所以我可以轻松地设置断点等 当我构建时,我收到以下消息:

The following module was built either with optimizations enabled or without debug information: 
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\[a bunch of randomly named directories]\assembly\[more random names]\MvcTurbine.Web.DLL]

To debug this module, change its project build configuration to Debug mode. To suppress this message, disable the 'Warn if no user code on launch' debugger option.

我检查了项目的属性。它的配置设置为“活动(调试)”,并且未选中“优化代码”复选框。

更新
我再次检查,如果我没有意外包括文件而不是项目,但参考似乎是正确的 为了确保我也删除了所有现有的垃圾箱,以便所有的库都可以在某处重建,但无济于事。

更新
在高级Build窗口中,Debug输出设置为Full,所有选项都与构建调试信息的项目相同 配置管理器显示正在构建项目,并且具有与所有其他选项完全相同的设置。

更新
在Debug-> Windows-Modules窗口中,涡轮库的符号状态为PDB file does not match image我删除了整个系统上的所有相应pdb文件,以确保它重新生成,但无济于事。
为了确保我还在整个系统中搜索了dll并将其删除。什么都没有。

什么可以阻止VS创建调试信息?

3 个答案:

答案 0 :(得分:7)

我今天早上使用VS2010遇到了同样的问题。我通过删除所有构建工件来解决它,例如可执行文件,库,PDB等。这是在\ bin \ Debug,\ bin \ Release,\ obj \ Debug和\ obj \ Release(包括子文件夹)中。然后我重新编译了调试配置,并重新开始工作。

答案 1 :(得分:4)

检查是否正在为项目生成调试信息。您可以通过打开“项目属性”页面上的“生成”选项卡并单击“高级...”按钮来执行此操作。检查“调试信息”设置。有关每个选项的含义的解释,请参阅this MSDN article

如果仍无法解决问题,请检查MvcTurbine项目是否正在构建(Build -> Configuration Manager)。

答案 2 :(得分:2)

听起来您已经引用了MvcTurbine.Web.DLL 文件而不是MvcTurbine 项目。尝试删除引用并将其重新添加为项目引用。

更新您确定DLL不是来自GAC吗?在应用程序运行时执行Debug-> Windows->模块并检查Path列。