I\'m attempting to build an ASP.NET vNext project in TeamCity. When it tries to build, I get the following error:
C:\\...\\MyApp.kproj(7, 3): error MSB4019: The i
Per JetBrains, it is not directly supported, although it should be possible using TeamCity's command line runners.
An alternative workaround is to simply replace the 12.0 tools with 14.0 tools. I just downloaded the lastest Visual Studio 2015 (Update 2) build tools. Installed it on my agents and
Renamed C:\Program Files (x86)\MSBuild\12.0 => C:\Program Files (x86)\MSBuild\12.0-old
Copied C:\Program Files (x86)\MSBuild\14.0 => C:\Program Files (x86)\MSBuild\12.0
Works! You need to have the 14.0-tools in both 12 and 14 folder for things to work.
Edit: As of TeamCity 9.x, all works out of the box, but for earlier versions, the below is a solution.
The project import problem should be solved by setting a env.VSToolsPath
environment property to C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0
.
However, you will not be able to build using the TeamCity included MSBuild runner. But using a command-line runner is very simple. I extracted a meta-runner like this. It has almost the same functionality as the included TeamCity MSBuild 2013 runner. If you need more configurability, just add more parameters.
My meta-runner ended up looking like this:
<?xml version="1.0" encoding="UTF-8"?>
<meta-runner name="MSBuild 2015">
<description>MSBuild 2015 command line runner</description>
<settings>
<parameters>
<param name="solutionFile" />
<param name="target" value="Build" />
</parameters>
<build-runners>
<runner name="MSBuild 2015" type="simpleRunner">
<parameters>
<param name="command.executable" value="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" />
<param name="command.parameters" value="/v:m /m /t:%target% %solutionFile%" />
<param name="teamcity.step.mode" value="default" />
</parameters>
</runner>
</build-runners>
<requirements />
</settings>
</meta-runner>
Note: TeamCity 9.1, due for Q2 2015 is expected to build VS2015 projects natively.