MSBUILD - Wrong Tools Version Being Selected Follow
We have had a TeamCity setup running for sometime now. Last night our MIS department sent out some Windows Updates. One of them has broke our builds on TeamCity. The first thing that I found is the paths for SDK35ToolsPath and SDK40ToolsPath were changed to the 7.0A SDK which does not exist on the build server. Windows SDK version 7.1 is installed. I fixed these paths to point to the right directory. The problem is for some reason TeamCity or MSBuild is still select the SDK40ToolsPath for getting files to build our project. It needs to be using the SDK35ToolsPath path though. The project is a Visual Studio 2010 solution that currently is still targeting .Net 2.0. TeamCity is setup for MSBuild as the runner, the MSBuild version is set for Microsoft .Net Framework 4.0 and MSBuild ToolsVersion 3.5. This is how it was setup before the updates and everything ran just fine.
Does anyone have any idea what could be set wrong on the server for it to be selected the wrong version of SDK tools?
Please sign in to leave a comment.
I noticed related post on this issue:
What build runner to you use? MSbuild or VS Solution?
If you are using VS2010, you need to use the .NET 4 version of MSBuild. There were changes in build files that are not backward compatable and even if you don't use them, you'll get errors. Your solution will still run against the correct runtimes.
Right. TeamCity has no logic to detect version of MSBuild or bitness automatically. Another way is to use Visual Studio (sln) build runner with VS version selected