在Visual Studio中重建与清理+构建之间的区别

在Visual Studio 2008中仅进行重建和执行“ 清理 + 生成”有什么区别?是清洁 + 构建不同然后做清洁 + 重建



回首忆惘然
浏览 657回答 3
3回答

杨魅力

重建=清理+构建(通常)值得注意的细节:对于多项目解决方案,“重建解决方案”对每个项目执行“清理”,然后执行“构建”(可能并行执行)。而“干净解决方案”之后是“构建解决方案”,则首先清理所有项目(可能并行),然后清理所有项目(可能并行)。当项目间的依赖关系发挥作用时,事件排序的这种差异会变得很明显。这三个动作均对应于MSBuild目标。因此,项目可以覆盖“重建”操作以执行完全不同的操作。

qq_花开花谢_0

即99%的时间重建=清理+重建。但是不能保证它们是相同的。这3个操作(重建,构建,清除)代表不同的MSBuild目标。每个项目文件都可以覆盖其中的每个文件以执行自定义操作。因此,在启动clean + build(或完全删除它们)之前,某人完全有可能重写rebuild来执行多个操作。非常极端的情况,但由于评论讨论而指出。

隔江千里

1每个项目,重建项目=(清理项目+生成项目)。2个解决方案,重建Sln = foreach项目(Clean项目+ Build项目)!= Clean Sln + Build Sln假设您有一个Sln,包含proj1,proj2和proj3。重建Sln =(清洁proj1->构建Proj1)+(清洁proj2->构建Proj2)+(清洁proj3->构建Proj3)清洁Sln +构建Sln =(清洁proj1 +清洁proj2 +清洁proj3)->(构建proj1 +构建proj2 +构建proj3)->表示串行,+表示并发因此,如果您未正确配置项目依赖项而提交了许多代码更改,就有可能会导致Rebuild Sln导致某些项目链接到一个过时的lib,因为不能保证所有构建都经过全部清理。(在这种情况下,Clean Sln + Build Sln将给出链接错误,并立即通知您,而不是为您提供行为异常的应用程序)
打开App,查看更多内容
随时随地看视频慕课网APP