30% 的时间解决方案重建失败
Solution rebuild fails 30% of the time
我们在一个解决方案中有 100 多个项目,其中一些项目包括其他项目作为项目参考。 Clean-Build/Rebuild 花费了太多时间,所以我搜索并找到了一个很好的优化 build/rebuild 时间的解决方案:
- 在所有项目中为 Debug/Release 设置相同的输出路径,差异为 $(Configuration)。
- 将项目引用的复制本地设置为 false,因为引用的项目应该在那里。
经过多次测试,我发现由于 metadata * could not be found
,VS Solution 的重建有 30% 的时间失败。
我知道这个错误是什么意思,但我不知道它是怎么来的。
有没有人知道如何提高解决方案重建的成功率?
重建失败的常见问题有时是(如评论中所述)并行构建,当项目之间存在依赖关系时(即一个构建目标需要先构建其他项目,因为它会消耗项目。)
可以在 VS 中设置构建依赖项 - 没有说明 VS 版本,但你应该可以右键单击项目,然后 select 'Build Dependencies' - 然后会给你两个选项:构建依赖项和构建顺序。
使用这些选项,您可以定义哪些项目依赖于其他项目(即防止 VS 尝试构建它所依赖的项目尚未构建的项目),并且如果需要,指定特定的顺序用于构建项目。
如果您的依赖关系正确,它应该确保正确的顺序,而不会牺牲并行构建(我怀疑,对于这么多项目,您会想要保留。)
我们在一个解决方案中有 100 多个项目,其中一些项目包括其他项目作为项目参考。 Clean-Build/Rebuild 花费了太多时间,所以我搜索并找到了一个很好的优化 build/rebuild 时间的解决方案:
- 在所有项目中为 Debug/Release 设置相同的输出路径,差异为 $(Configuration)。
- 将项目引用的复制本地设置为 false,因为引用的项目应该在那里。
经过多次测试,我发现由于 metadata * could not be found
,VS Solution 的重建有 30% 的时间失败。
我知道这个错误是什么意思,但我不知道它是怎么来的。
有没有人知道如何提高解决方案重建的成功率?
重建失败的常见问题有时是(如评论中所述)并行构建,当项目之间存在依赖关系时(即一个构建目标需要先构建其他项目,因为它会消耗项目。)
可以在 VS 中设置构建依赖项 - 没有说明 VS 版本,但你应该可以右键单击项目,然后 select 'Build Dependencies' - 然后会给你两个选项:构建依赖项和构建顺序。
使用这些选项,您可以定义哪些项目依赖于其他项目(即防止 VS 尝试构建它所依赖的项目尚未构建的项目),并且如果需要,指定特定的顺序用于构建项目。
如果您的依赖关系正确,它应该确保正确的顺序,而不会牺牲并行构建(我怀疑,对于这么多项目,您会想要保留。)