Visual Studio算是使用频率最高的IDE了,自我感觉各项功能都轻车熟路了,可是最近却遇到个莫名其妙的情况,那就是C++项目突然无法Build,无论项目源码是否改动,右键项目->Build/Rebuild都直接提示Build成功,没有任何错误提示,但是根本没进行任何编译,自然也没任何文件输出,查看配置管理器,发现相应项目的Build也是勾选的,这就尴尬了,要是开发中出现这种没有任何提示的bug(还有一种随机出现的bug),分分钟搞死程序员。。
怎么办?重建项目当然可以解决问题,但这个项目有各种配置,包括引用目录、库目录、预定义宏、Build Script等等,想想都觉得繁琐。
在卸载项目、重载解决方案、重启IDE等各种操作均无果后,最终在Rebuild Solution时出现了关键错误提示,项目文件存在nested format exception,这就明白了这应该是VS版本迁移、工具集升级过程出现异常导致的锅,解决方案.sln或者项目文件格式存在错误。
解决方案: 把项目工具集版本调回随便上一个版本,卸载项目并从解决方案删除该项目,然后保存解决方案,再把项目添加进解决方案并重定向目标版本就可以了。