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#面试问题与答案) ),我已经展示了它们之间的区别,下面是可视化表示,它们将帮助您更详细地分析它们。
重build与(Clean + Build)之间的区别,因为似乎也有一些困惑:
不同的是每个项目的构build和清理顺序的方式。 假设您的解决scheme有两个项目“proj1”和“proj2”。 如果你做一个重build,它将采取“proj1”,清理(删除)“proj1”的编译文件,并build立它。 之后,将采取第二个项目“proj2”,干净的编译文件“proj2”和编译“proj2”。
但是如果你做了一个“clean”和“build”,它将首先删除“proj1”和“proj2”的所有编译文件,然后它将首先构build“proj1”,然后是“proj2”。
采取从这个链接 :
构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设