复合 VB 编译器 Bug 导致代码段丢失

  • Jonathan Allen
  • 霍泰稳

2007 年 12 月 20 日

话题:.NET语言 & 开发

KB 945425错误的完整标题为“在 Visual Studio 2008 中编译项目结构复杂的解决方案(Solution)时可能会丢失代码段。”这不是玩笑,因为有时候你确实需要混合 5 个以上的项目进行编译,而它们又很可能被其他几个文件和项目引用,从而引发上述问题。

这个问题不经常出现,不过检查 IL(Intermediate Language,中间语言)则可以发现这个问题,有时你也会发现设置的断点无缘无故地消失了。

庆幸的是,这个问题的解决方法还算简单,只要在两个项目在同一个解决方案中的时候使用项目引用(Reference)来关联它们就可以了。在任何情况下都应该保证这一点,因为在进行命令行方式编译时,使用文件引用会非常不可靠。

这个错误最早是由Kathleen Dollard发现的。

查看英文原文:Complex VB Compiler Bug Results in Lines of Code Being Skipped
.NET语言 & 开发