Visual Studio 2010转换2005解决方案(C ++项目)失去了项目依赖性

时间:2011-04-08 08:28:54

标签: c++ visual-studio visual-studio-2010 visual-c++ visual-studio-2005

我正在尝试将一个相当庞大的VS2005解决方案与许多C ++项目转换为VS2010。在自动转换后,我可以看到项目之间的一些依赖关系丢失,因此我的VS2010构建失败,除非我手动重新添加依赖项。

有人看到过这种行为吗?

这是否有解决方法?

通过更改/修复VS2005解决方案/项目,我可以避免在转换期间丢弃依赖项吗?

编辑:另一个转换工件是,单个项目中的三个头文件突然被认为是C ++源文件(而不仅仅是头文件),并尝试进行编译。随后编译失败,因为它们不包含stdafx.h。

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,这就是我所做的:首先从2005年转换到2008年,然后从2008年转到2010年。这对我有帮助。

答案 1 :(得分:1)

VS2010项目转换充满了压力。如果你还没有应用 VS2010 Service Pack 1 ,你几乎肯定会浪费你的时间。

关于项目依赖项(您可能不喜欢这样):MSBuild 4.0(VS2010构建代理程序)不再在解决方案文件中查找项目依赖项。即使您设法让您的解决方案在IDE中构建正常,如果您计划从命令行构建脚本或TFS构建服务器构建解决方案,那么必须应用所有项目相互依赖关系每个项目。否则,您的项目几乎肯定会无序构建,尤其是在多核计算机上,默认情况下,MSBuild 4.0会使用尽可能多的内核。

我的团队必须咬紧牙关并在每个项目中手动重新创建项目依赖项,以便VS2010解决方案可以在Visual Studio和我们的TFS构建服务器中正确构建。