2014-11-23 4 views
12

Ich versuche ein ASP.NET vNext-Projekt in TeamCity zu erstellen. Wenn es zu bauen versucht, erhalte ich folgende Fehlermeldung:Kann TeamCity so konfiguriert werden, dass das mit Visual Studio 2015 gelieferte MSBuild verwendet wird?

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.

Die Datei für es sieht tatsächlich befindet sich auf C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AspNet\Microsoft.Web.AspNet.Props

Ich gehe davon aus, dass ich bekommen Teamcity die Version zu verwenden Msbuild, das mit Visual Studio 2015 ausgeliefert wird. Ist das überhaupt möglich?

+0

Haben Sie die neue Version von MSBuild auf dem Server installiert, der den Team City-Agenten hostet? –

Antwort

0

Per JetBrains, es wird nicht direkt unterstützt, obwohl es mit TeamCitys Kommandozeilenläufern möglich sein sollte.

11

Bearbeiten:Ab TeamCity 9.x funktioniert alles aus der Box, aber für frühere Versionen ist das Folgende eine Lösung.

Das Projektimportproblem sollte gelöst werden, indem eine env.VSToolsPath Umgebungseigenschaft auf C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0 festgelegt wird.

Sie können jedoch nicht mit dem von TeamCity mitgelieferten MSBuild-Runner erstellen. Aber die Verwendung eines Befehlszeilenprogramms ist sehr einfach. Ich habe einen Meta-Runner wie folgt extrahiert. Es hat fast die gleiche Funktionalität wie der mitgelieferte TeamCity MSBuild 2013 Runner. Wenn Sie mehr Konfigurationsmöglichkeiten benötigen, fügen Sie einfach weitere Parameter hinzu.

Mein meta-Läufer suchen, wie diese am Ende:

<?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> 

Hinweis: Teamcity 9.1, wegen für Q2 2015 wird erwartet, dass nativ VS2015 Projekte zu bauen.

+1

Das funktionierte für TeamCity 8.x. Wir haben jetzt MS Build Tools für 2015 arbeiten mit Meta-Läufern. Schön gemacht, Erik! Vielen Dank! – StephenPAdams

+2

Froh, dass es für dich funktioniert hat. Beachten Sie, dass in TeamCity 9.x alles sofort einsatzbereit ist. Daher würde ich empfehlen, ein Upgrade durchzuführen, wenn dies eine Option für Sie ist. –

2

Eine alternative Problemumgehung besteht darin, einfach die 12.0-Tools durch 14.0 Tools zu ersetzen. Ich habe gerade die neuesten Build Tools für Visual Studio 2015 (Update 2) heruntergeladen. Installiert es auf meinem Agenten und

  1. Umbenannt C: \ Program Files (x86) \ MSBuild \ 12.0 => C: \ Program Files (x86) \ MSBuild \ 12.0 alte

  2. Kopierte C: \ Program Files (x86) \ MSBuild \ 14.0 => C: \ Program Files (x86) \ MSBuild \ 12,0

Works! Sie müssen die 14.0-Tools im Ordner 12 und 14 haben, damit die Dinge funktionieren.

Verwandte Themen