Build solution vs. Rebuild solution vs. Clean solution Menu

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:

Rebuild = Clean + Build

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.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s