Maybe I just can’t figure out the right keywords to get an answer out of Google, but here goes.
Say I have a Project I’m working on named “Project.” For it’s first version, I have it stored in the folder “Project_Version1”, and have the name of it’s solution, project, build exe, etc as “Project_Version1”.
Now I want to make the next version of the Project, and call it “Project_Version2”. To do this currently, I copy the original folder, and rename it to “Project_Version2”, and I want to rename all of the other internal stuff to that as well. Currently, I have to do that with a combination of changing the names in windows explorer, and some of the various properties pages in my solution.
There has to be a better way to do this. How does somebody make a second version of their project, and store it’s files separately from the first version? Is there a way to also rename appropriate files that contain version numbers?
You can do some pretty neat tricks with MSBuild. Let’s say, for instance, that this is your project.
Program.cs:
Create your MSBuild file as shown. build.msbuild:
After running

msbuild build.msbuild, this is the result:Ways to make what I posted even better:
It’s a lot to take in, especially if you aren’t familiar with MSBuild, but it’s a powerful program that allows customization that Visual Studio can’t even imagine! Note that a solution file (.sln) is a MSBuild file, even though it’s not xml.
Hopefully this is what you are looking for. I do also recommend that you use an official version control, as others have mentioned, but you seemed to have a specific task you wanted automated, which is MSBuild’s forte.