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 imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AspNet\Microsoft.Web.AspNet.Props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
The file it's looking for is actually located at C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AspNet\Microsoft.Web.AspNet.Props
I'm assuming that I need to get TeamCity to use the version of msbuild that ships with Visual Studio 2015. Is this even possible?
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With