解决方案重建失败30%的时间

时间:2018-01-30 09:29:32

标签: c# c++ projects-and-solutions rebuild multiple-projects

我们在解决方案中有超过100个项目,有些项目包括其他项目作为项目参考。 Clean-Build / Rebuild耗费了太多时间,因此我搜索并找到了一个非常好的解决方案来优化构建/重建时间:

  1. 在所有项目中为Debug / Release设置相同的输出路径,区别为$(Configuration)。
  2. 将项目引用的Copy Local设置为false,因为引用的项目应该在那里。
  3. 经过多次测试,我发现由于metadata * could not be found,VS解决方案的重建失败了30%。 我知道这个错误意味着什么,但我不知道它是怎么回事。

    有任何人有任何想法,如何提高解决方案重建的成功率?

1 个答案:

答案 0 :(得分:1)

当项目之间存在依赖关系(即,一个构建目标需要首先构建其他项目,因为它消耗项目的输出)时,重建失败的常见问题有时是(如注释中所述)并行构建。 )

可以在VS中设置构建依赖关系 - 未说明VS版本,但您应该能够右键单击项目,然后选择“构建依赖关系” - 然后为您提供两个选项:构建依赖关系,以及建立订单。

使用这些选项,您可以定义哪些项目依赖于其他项目(即阻止VS尝试构建尚未构建项目的项目),如果需要,还可以指定项目的特定顺序建立。

如果您的依赖关系正确,它应该确保正确的排序,而不会牺牲并行构建(我怀疑,有很多项目,你会想要保留它。)

请参阅:How to: Create and Remove Project Dependencies