2
votes

We've recently upgraded to TeamCity 6.5 Enterprise which started to complain about /p command line parameters in MSBuild runner steps suggesting to move those to Build Parameters. So i deleted all my /p from "Command line parameters:" and added them in Build Parameters. The problems appeared immediately with Platform param:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(483, 9): The OutputPath property is not set for project 'MyProj.csproj.teamcity'.  Please check to make sure that you have specified a valid combination of Configuration and Platform for this project.  Configuration='Testing'  Platform='Any CPU'.  You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project.

My build scenario includes lots of steps, some building sln-files, others .csproj/.msbuild without solution file. There is a different on how Platform parameter is treated depending on what you build (as discussed here) - "AnyCPU" or "Any CPU". As far as I understand this is the case. Can this be fixed without reverting back to /p command line parameters in the runner?

Also, this new MSBuild runner suffers from not logging the exact command line it uses making it hard to diagnose such issues. Very frustrating.

1

1 Answers

3
votes

Here's two related questions with answers, one for TeamCity build parameters, and another for the OutputPath property, which you should specify using OutDir instead.