2015-07-27 9 views
15

hier ist die Szene zu bauen:Update-Build-Controller/Agents C# 6 /.NET 4.6 Anwendung

Wir verwenden Visual Studio Online und ein Vor-Ort-Build-Server in unserem Firmennetzwerk mit TFS 2013 baut unsere Lösung nach gated Check-Ins und Freigaben.

Jetzt haben wir von Visual Studio 2013 auf Visual Studio 2015 Enterprise aktualisiert und auf die neue .NET-Version aktualisiert. Wir waren sehr gespannt darauf, die neuen Features von C# 6 zu nutzen, aber nach dem ersten Check-In haben wir erfahren, dass der Build fehlgeschlagen ist.

(Leider kein Bild hier, wie ich einen Mangel an guten Ruf haben)

Ausnahmemeldung: MSBuild Fehler 1 hat diesen Build beendet. Sie finden genauere Informationen über die Ursache dieses Fehlers in den oben genannten Nachrichten. (Typ BuildProcessTerminateException) Ausnahmestapelüberwachung: bei System.Activities.Statements.Throw.Execute (CodeActivityContext Kontext) bei System.Activities.CodeActivity.InternalExecute (ActivityInstance Beispiel ActivityExecutor Vollstrecker, Bookmarkbookmark) bei System.Activities .Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody (ActivityExecutor Executor, BookmarkManager bookmarkManager, Speicherort resultLocation) ApplicationManager.cs (33, 0) Unerwartetes Zeichen '$' ApplicationManager.cs (33, 0); erwartet

Es scheint, dass der Build-Agent die neue Syntax nicht versteht und immer noch mit der alten Version kompiliert.

Was habe ich, um zu beheben, es war:

  • Installieren Sie Visual Studio 2015 auf dem Vor-Ort-Build-Server (das ältere Version von Visual Studio 2013 noch installiert ist)

  • Neu-Start des bauen Controller

  • Gefolgt die Schritte hier: https://stackoverflow.com/a/28327275/4919063

die im Grunde Visual Studio 2015 und das neue Microsoft-Tools bauen

  • Und die Schritte in here, die waren sehr vielversprechend ist die Installation:

Ich habe eine neue Build-Definition mit einer der Vorlagen

Erstellt einen neuen Agentenpool über den Webzugriff für Visual Studio Online. Heruntergeladene

die ConfigureAgent.ps1 und ausgeführt es auf dem Build-Server ein neues

Mittel zu erstellen. Aber ich konnte nicht herausfinden, wie ich den neu geschaffenen Agenten nutzen sollte.

Meine Frage ist: Wie kann ich die Build-Agenten aktualisieren, ohne Fehler in

Bezug auf die neue .NET-Version zu laufen?

Antwort

14

Ich vermute, dass Sie den Build Agent 2013 noch ausführen? Öffnen Sie in diesem Fall Ihre Buildprozessvorlage und suchen Sie die Aufgabe "Msbuild für Projekt ausführen". Legen Sie die ToolPath-Eigenschaft auf den Speicherort fest, auf dem Ihr v14 MsBuild installiert ist. Standard:

C:\Program Files (x86)\MSBuild\14.0\Bin 

Das sollte Ihnen ermöglichen, die C# 6-Syntaxelemente zu verwenden.

Entfernen Sie the steps from this post durch Entfernen der Roslyn Nuget-Pakete, das NuGet-Paket wird jetzt nicht mehr benötigt, da Visual Studio 2015 RTM ist. Das gleiche Paket wird für VS2013 nicht mehr unterstützt.

Der neue TFS 2015-Build-Agent, den Sie heruntergeladen haben, kommuniziert nicht mit TFS 2013, auch kein TFS 2015 XAML-Build-Agent. Solange Ihr Server TFS 2013 ausführt, stecken Sie fest und verwenden TFS Build 2010 bis einschließlich 2013.

Bei Verbindung mit VSO you should be able to use the new 2015 build agent. Sie müssen jedoch über die Webschnittstelle eine neue Builddefinition erstellen. Sie können die ausführende XAML-Builddefinition nicht mit dem neuen Erstellungsagenten verwenden.

Sie können auch den TFS 2015 XAML-Agenten installieren. Um es zu installieren install TFS 2015 on the build server and only run the steps to configure the XAML build agent. Dadurch wird der TFS 2013-Buildserver von Ihrem Computer entfernt.

+0

Vielen Dank für Ihre Antwort! –

+1

Stellen Sie beim Festlegen von ToolPath sicher, dass Sie den Pfad mit doppelten Anführungszeichen umgeben. Andernfalls erhalten Sie den Erstellungsfehler 'Compiler error (s) beim Bearbeiten des Ausdrucks" C: \ Programme (x86) \ MSBuild \ 14.0 \ Bin "' –

7

Ich kann die ToolPath-Eigenschaft nicht festlegen, da "Msbuild für Projekt ausführen" durch eine abstrakte "Run MSBuild" -Aktivität in meinem verwendeten "TfvcTemplate.12.xaml" ersetzt wird. Ich denke, es kam mit TFS 2013 Update 4.

Ich installierte VS 2015 auf der BuildMachine.

und ich änderte die Builds durch das Argument /tv:14.0 Parameter als MSBuild Zugabe (in Build-Definition \ Process \ 2.Build \ 5.Advanced \ MSBuild Argumente)

Das ist für mich gearbeitet. Siehe Antwort von marson

Verwandte Themen