Visual Studio is a capricious product, and its "Solution" subsystem is
especially capricious. When you look at what options are available you might
think you have a great degree of freedom to structure things the way you want,
but as you will inevitably (and painfully) find out later, many things have to
be done in precisely one, entirely undocumented way, or else there will be
pain of the worst kind: Visual Studio will malfunction either without any
error message, or with error messages that are completely unhelpful for
locating and fixing the problem.
Here is a list of things I have (painfully) found out over the years.