Visual Studio中构build解决scheme,重build解决scheme和清理解决scheme之间的区别?

在Visual Studio中,Build Solution,Rebuild Solution和Clean Solution有什么区别?

什么时候适合使用每一个?

  • 构build解决scheme将执行增量构build:如果它不认为需要重build项目,则不会。 如果项目没有改变的话,也可能使用部分构build的项目(我不知道需要多less)
  • 重build解决scheme将清理并从头开始构build解决scheme,忽略之前完成的任何事情。
  • Clean解决scheme将删除以前版本的构build工件。 如果构build目标目录(bin和obj)中有任何其他文件,则它们可能不会被删除,但实际的构build工件是。 我已经看到了这种行为 – 有时删除相当彻底,有时不会 – 但我会给VS的疑虑的好处的时刻:)

(链接到devenv.exe命令行开关,但它们与菜单项相同。)

构build解决scheme:编译已更改的代码文件(DLL和EXE)。

重build:删除所有编译的文件,并再次编译它们,而不pipe代码是否已经改变。

清理解决scheme:删除所有编译的文件(DLL和EXE文件)。

你可以看到这个YouTubevideo( Visual Studio Build vs. Rebuild vs. Clean(C#面试问题与答案) ),我已经展示了它们之间的区别,下面是可视化表示,它们将帮助您更详细地分析它们。

建设vs重建

重build与(Clean + Build)之间的区别,因为似乎也有一些困惑:

不同的是每个项目的构build和清理顺序的方式。 假设您的解决scheme有两个项目“proj1”和“proj2”。 如果你做一个重build,它将采取“proj1”,清理(删除)“proj1”的编译文件,并build立它。 之后,将采取第二个项目“proj2”,干净的编译文件“proj2”和编译“proj2”。

但是如果你做了一个“clean”和“build”,它将首先删除“proj1”和“proj2”的所有编译文件,然后它将首先构build“proj1”,然后是“proj2”。

重建VS清洁

采取从这个链接 :

构build意味着只编译和链接自上一次构build以来已更改的源文件,而重build意味着编译和链接所有源文件,而不pipe它们是否更改。 构build是正常的事情,速度更快。 有时,项目目标组件的版本可能会不同步,重build对于使构build成功是必要的。 在实践中,你永远不需要清洁。

构build解决scheme – 构build已更改文件的任何程序集。 如果程序集没有更改,则不会重新构build。 也不会删除任何中间文件。

最常用的

重build解决scheme – 重build所有程序集而不pipe更改,但留下中间文件。

当您注意到Visual Studio没有将您的更改合并到最新的程序集中时使用。 有时Visual Studio会犯错误。

清理解决scheme – 删除所有中间文件并重build所有程序集,而不考虑更改

当所有其他的都失败了,你需要清理一切,并开始新鲜。

我只是想到重build是先执行Clean,然后是Build。 也许我错了…评论?

构build解决scheme – 构build已更改文件的任何程序集。 如果程序集没有更改,则不会重新构build。 也不会删除任何中间文件。

重build解决scheme将清理并从头开始构build解决scheme,忽略之前完成的任何事情

Clean Solution将从bin / obj目录中删除所有已编译的文件(即EXE和DLL)。

构build解决scheme将构build解决scheme中已更改的任何项目。 重build会生成所有项目,干净的解决scheme将删除所有临时文件,确保下一次构build完成。

构build解决scheme – 构build解决scheme将构build您的应用程序,并构build具有任何文件更改的项目数量。 而且它不清除任何现有的二进制文件,只是replacebin或obj文件夹中更新的程序集。

重build解决scheme – 重build解决scheme将构build您的整个应用程序,同时清理解决scheme中的所有项目。 在构build之前,清除bin和obj文件夹中的所有二进制文件。

清理解决scheme – 清理解决scheme只是清除bin和obj文件夹中的所有二进制文件。

构build解决scheme只构build在解决scheme中已更改的项目,并不影响未更改的程序集,

ReBuild首先清除解决scheme中的所有程序集,然后构build整个解决scheme,而不pipe所做的更改如何。

清洁,只需清理解决scheme。

构build解决scheme

这将执行增量构build。 换句话说,它只会build立已经改变的代码文件。 如果他们没有改变这些文件将不会被触及。

重build解决scheme

这将删除所有当前编译的文件(即exe和DLL),并将从头开始构build所有内容,而不pipe文件中是否存在代码更改。

清洁解决scheme菜单

这个菜单将从bin / obj目录中删除所有编译的文件(即,EXE和DLL's)。

重build=清洁+build设