I have a TeamCity install on x32 Server2008 windows machine. I\'ve run the .net 4.5 web install. I\'ve also copied over the files from my x64 machine based on this article
I seemed to solve this issue by going into the registry and deleting all entries for MSBuild that weren't for version 12, then restarted the agent.
To do that, go to Start > Run and type in Regedit
Then navigate to the key:
HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > MSBuild
Delete all versions except for 12.0.
Go down the next level to ToolsVersions and delete the non-12.0 versions there.
A bit of a late answer, but if your project is from VS 2012, and you're using the autodetected solution file build step, editing that step and choosing "Microsoft Visual Studio 2012" from the "Visual Studio" drop down fixes this issue as well (and, IMHO, more correctly).
I'm also a bit late to the party but I thought I'd share the following in case it helps any poor soul out there.
In my case I have TeamCity Professional 2018.1 on Windows 2016 Server. I downloaded Build Tools for Visual Studio 2017 from here: https://visualstudio.microsoft.com/downloads/ and selected all options for build tools. After install I added MSBuild to the global PATH environment variable. C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin in my case.
As was stated above, autodetected build step is probably picked up wrong Visual Studio version. Change it using Visual Studio dropdown under Build Steps section on Build Configuration settings page:
I had the same problem and at the end it turned out that my defined build step to run MSBuild was configured wrong.
In my MSBuild build step the setting "MSBuild ToolsVersion" was set to 12.0 (default), which lead to the error "Unmet requirements: MSBuildTools12.0_x86_Path exists" on my system. Because I don't need the new MSBuild 12.0 to run my build, I changed this setting to 4.0 in my build step. This MSBuild version is correctly installed on my system. This solved the issue for me.