Is it possible to configure TeamCity to use the MSBuild that ships with Visual Studio 2015?

前端 未结 3 1669
无人及你
无人及你 2021-02-19 13:39

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

相关标签:
3条回答
  • 2021-02-19 14:03

    Per JetBrains, it is not directly supported, although it should be possible using TeamCity's command line runners.

    0 讨论(0)
  • 2021-02-19 14:04

    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

    1. Renamed C:\Program Files (x86)\MSBuild\12.0 => C:\Program Files (x86)\MSBuild\12.0-old

    2. 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.

    0 讨论(0)
  • 2021-02-19 14:14

    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.

    0 讨论(0)
提交回复
热议问题