TeamCity / .sqlproj Build über MSBuild - FAILED

7

Alles begann mit dem VS2017-Läufertyp in TC. Es ist fehlgeschlagen ohne irgendwelche Fehler oder Hinweise (außer der Nachricht (default targets) -- FAILED. auf der Lösungsebene). Ich beschränkte mich auf die .SQL-Projekte. Diese werden nicht über MSBuild erstellt, sie kompilieren perfekt innerhalb von VS2017 auf dem Build-Agent. Ich habe SSDT dafür verantwortlich gemacht ... aber ich denke, ich habe alles überprüft. Dies ist das Problem, das innerhalb des TC-Builds auf die Lösungsebene übergeht:

Ich habe bemerkt, dass für VS2017 SSDT mit dem VS-Setup kommt. Der "Workload" "Datenspeicherung und -verarbeitung" ist installiert, ebenso wie "SQL Server Datentools" unter "Einzelne Komponenten". Ich bemerkte auf Ссылка den Satz "Wenn du bist Verwenden Sie SSDT mit Visual Studio 2017 und installieren Sie die AS- und RS-Komponenten ". Erledigt. Nichts hat sich geändert. SSDT wird auch für frühere Versionen separat installiert.

Dieser Stapel ist verwandt, hat mir aber nicht geholfen.

Irgendwelche anderen Ideen?

Ich kam einen Schritt weiter. Neben VS sind die Build Tools auch auf dem Build Agent installiert und TeamCitys Runner für VS2017 verwendet offensichtlich MSBuild von den Build Tools. Wie Sie oben sehen können, habe ich das Problem mit MSBuild auch von den Build Tools reproduziert. Wenn ich die MSBuild- "Version" von VS2017 auswähle, funktioniert es wie ein Charm (wie es direkt in VS tut). Um es kurz zu machen:

FUNKTIONIERT NICHT

C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.0\Bin

ARBEITEN

C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin

    
timmkrause 26.07.2017, 09:37
quelle

1 Antwort

7

Ich habe einen Blogeintrag von Lukie Briner gefunden, Sein letzter Absatz wies mich auf die Lösung hin (danke, Kumpel!).

Weiß immer noch nicht warum / wie das passieren kann, vielleicht hängt es mit der Reihenfolge der Installationen von Build Tools, SSDT, Visual Studio usw zusammen?

Der Grund: SSDT fehlte in den Build Tools und seiner Version von MSBuild.

Was ich getan habe:

Kopieren Sie den Ordner SSDT von

C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild\Microsoft\VisualStudio\v15.0

bis

C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0 .

WOW! Endlich sehe ich eine REAL Fehlermeldung :

Nun musste ich SQLDB und SQLEditor kopieren (ich glaube SQLCommon existierte bereits im Zielordner, wenn nicht auch kopiert werden sollte) von

C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions\Microsoft

bis

C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\Common7\IDE\Extensions\Microsoft

und BOOM ...

Und ja, der VS2017-Läufer von TeamCity ist auch damit zufrieden.

    
timmkrause 04.08.2017, 09:02
quelle