1.Solution的Build、Rebuild和Clean

时间:2023-12-17 08:18:50

  大家好,我是原文,这篇随笔是对原文的翻译以及自己的体会。

  做程序员没追求的话是永远找不到女朋友的,当然有追求也找不到,这个先不提,好在有追求的时候我是充实而且开心的。现在我们的问题是,每天调试项目,在Visual Studio中都会点到的三个菜单项Build Solution、Rebuild Solution和Clean Solution,他们到底是个啥。我怀着无上的追求精神(哈哈哈哈哈)找到了一篇切题的文章,感谢阿三的分享。

  Build Solution也就是生成解决方案,做的是增量构建,称之为incremental build,换句话就是IDE只编译那些有改动的源文件,没改动的不屌你。由于一个解决方案中各个部分是相互关联的,我们改过一个地方后,另一个地方可能也需要重新编译(多Project的Solution)。这个我一般也不长用。

  Rebuild Solution重新生成解决方案。它首先会删掉当前所有的已编译文件,各种exe、dll等,然后不管你的代码是否有过修改,从零开始(from scratch)重新编译。

  Clean Solution,如果你愿意的话它可以翻译成清洁溶液,不过我们还是认为它是清理解决方案。这一项会删掉所有工程bin和obj目录下已编译文件,exe和dll等。

  所以三哥就说了,聪明的你想必已经总结出他们的关系啦:C + B = R。我们这里不是赋值运算,那么有追求的你又会问啦,C + B和R完全等价吗,区别呢?

  细心的三哥为我们娓娓道来:如果一个Solution下有多个(下图假设有两个)Projects,Rebuild操作,是依次Clean每一个Project然后再Build这个Project;Clean + Build操作会一次性Clean所有Projects,然后一次性Build所有Projects。虽然觉得没必要分得这么细,但这也不是坏事:)

  1.Solution的Build、Rebuild和Clean(盗图)

  这之后我去MSDN上找相关的问题,妈蛋一搜弹出一堆,所以说,要啥自行车。这之中还是爆栈比较靠谱嘛,问题下又发现了同一个三哥的身影,还真是个热心的人呢。

  最后发现自己又生产了一篇信息垃圾,争取早日写出自己的有价值的随笔。