VS 生成下面的模块时,启用了优化或没有调试信息 原因及解决方法

来源:互联网 发布:好听的淘宝优惠券名字 编辑:程序博客网 时间:2024/04/28 02:53

近日开发的一个.Net项目中,将生成配置设置为Release后,会提示“生成下面的模块时,启用了优化或没有调试信息”。虽然并不影响项目的编译和运行,但是总觉得碍眼。例如,你引用了Log4Net的项目源代码时,将出现类似问题。

目前网络上给出的几个解决方案可归纳为两种途径:

(1)生成配置改用Debug,对于某些项目并不能彻底解决,因此我认为问题本质不在于此;

(2)禁用“启动仅我的代码”,实际上如果出现异常,将进入DLL的元数据中。

我并不清楚微软在表述该问题时,为何给出了两个原因,即可能是“启用了优化”,又可能是“没有调试信息”。一直以为是项目的优化配置问题,于是关闭了优化选项,但无济于事。今天仔细分析后发现真正问题在于提示语的“没有调试信息”这句上。检查bin/Release目录,对应项目没有生成pdb文件。pdb文件所包含的信息为VS调试所需要,但不会影响程序的正常编译和运行。

终极解决方法为:

(1)打开项目属性,转到生成选项卡,注意选择对应的配置为Debug或Release;

(2)单击“高级”按钮,在“高级生成设置”对话框中,将“调试信息”设为full或pdb-only。


0 0