VS中 build,rebuild,clean
一般来说Rebuild=99%*(Clean+Build),效果在非常小的可能性下会不同,一般可以忽略。
Rebuild是对Solution下的所有项目,逐个进行 Clean+Build。不论文件更改与否
Clean+Build是对选中的项目(如果选中Solution的话,全部Clean之后,再全部Build)先执行Clean再执行Build。
一般不需要执行Clean。
Build只是针对有更改过的文件进行编译。而Rebuild会编译所有。
推荐用 Clean+Build 或者Build。
build solution ---编译解决方案,和build “项目名”的不同之处很明显:一个解决方案可以包含多个项目,编译解决方案就是编译这个解决方案中的所有项目,而build “项目名”就只是编译当前的项目
至于rebuild,有过很多次这样的经历:把一个项目解决方案编译后,如果没有做过任何改动,点击build菜单命令就不会再编译,那怕你删除了原来编译生成的dll或exe文件,vs.net仍然会因为未检测到项目中有新的改动而拒绝编译,但点击rebuild,不管上次编译后有没有做过改动,vs.net都会重新编译。
来源:http://blog.csdn.net/dongdianjing/article/details/5836652
from:http://www.codeproject.com/Tips/624176/Build-solution-vs-Rebuild-solution-vs-Clean-soluti
I am not aware of a single day in my life when I have not clicked on the Build, Rebuild, or Clean menu of Visual Studio. Even though I use it on a daily basis or sometimes even on a minute to minute basis when my keyboard is high on coding, I am still not clear what exactly each one of these menus does. I had a very vague idea, but I wanted to be sure about the exact differences between them.
When I hunted for the differences what came out was surprising, below goes a detailed explanation of the same.
Build solution menu
This will perform an incremental build. In other words it will only build code files which have changed. If they have not changed those files will not be touched.
Rebuild solution menu
This will delete all currently compiled files (i.e., exe and DLLs) and will build everything from scratch, irrespective of if there is code change in the file or not.
Clean solution menu
This menu will delete all compiled files (i.e., EXE’s and DLL’s) from the bin/obj directory.
Now if you read the above three points I have discussed, you can conclude that:
So the next question would be if you do a Rebuild and if you do Clean + Build, what is the difference?
The difference is the way the build and clean sequence happens for every project. Let’s say if your solution has two projects, proj1 and proj2. If you do a rebuild it will take proj1, clean (delete) the compiled files for proj1, and build it. After that it will take the second project proj2, clean the compiled files for proj2, and compile proj2.
But if you do a clean and build, it will first delete all compiled files for proj1 and proj2 and then it will build proj1 first, followed by proj2.
The below image explains the same in a more visual format.