Visual Studio 2010 2005解决方案的转换(c++项目)失去了项目依赖关系

Visual Studio 2010 conversion of 2005 solutions (C++ projects) loses project dependencies

本文关键字:项目 失去 关系 依赖 c++ 2010 Studio 2005 解决方案 转换 Visual      更新时间:2023-10-16

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

有人看到这种行为吗?

是否有解决这个问题的方法?

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

EDIT:另一个转换产物是,像单个项目中的三个头文件突然被认为是c++源文件(而不仅仅是头文件),并且尝试编译它们。随后编译失败,因为它们不包括stdafx.h。

VS2010项目转换是令人担忧的。如果你还没有应用VS2010 Service Pack 1,你几乎肯定会浪费你的时间。

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

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

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