MSBuild project file standard offers you a
declarative language used to formulate build rules, not
imperative.
That said, there is no any predefined order of build steps, but you can created this order if you specify
dependencies between targets, even if those dependencies are fake.
The specifications are crystal clear, it's hard to miss anything:
https://msdn.microsoft.com/en-us/library/dd393574.aspx[
^],
https://msdn.microsoft.com/en-us/library/dd637714.aspx[
^],
https://msdn.microsoft.com/en-us/library/ms171469.aspx[
^],
https://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx[
^].
Now, let's get to C#. This is the language where the order of source code files is totally irrelevant. In the compiler command line syntax, you just supply a list of those files (or even directories with files) in arbitrary order. Naturally, that is what that predefined build task does to those file. This part of the question makes no real sense.
—SA