Ich versuche eine kontinuierliche Integration von SSDT-Projekten .sqlproj auf unserem Windows Server 2016 Server einzurichten.Die Verwendung von MSBuild zum Erstellen von SSDT-Projekten mit VS2017 schlägt fehl
Um dies zu tun habe ich VS2017 und SSDT Tools auf dem Server installiert, um die erforderlichen Tools zu erhalten. Ich habe auch MS-Build-Tools 2017 installiert.
Das Problem, das ich derzeit habe, ist in Bezug auf, wie es aussieht miss-matched Versionen von installierten MS Build-Tools und SSDT.
Der Befehl Ich bin mit dem Build zu laufen ist wie folgt:
C:\\Windows\Microsoft.NET\\Framework64\\v4.0.30319\\MSBuild.exe /p:VisualStudioVersion=15.0 /property:MSBuildExtensionsPath="C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\MSBuild\\" /property:VsInstallRoot="C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\" DPAP-SQL-Slim.sln
Die beiden Schalter bestanden gibt es zwei Umgebungsparameter festlegen, die die .sqlproj Datei zu finden erwartet, wenn über Visual laufen Studio. Dies geschieht, weil MSBuild sie nicht standardmäßig bereitstellt.
Der Fehler, den ich zur Zeit bin immer ist wie folgt:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets(477,5): error MSB4062: The "SqlModelResolutionTask" task could not be loaded from the assembly C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\IDE\Extensions\Microsoft\SQLDB\Dac\140\Microsoft.Data.Tools.Schema.Tasks.Sql.dll. Could not load file or assembly 'Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
Jetzt kann ich vom Laufen des Befehls sehen, die: gacutil /l
in der VS2017 Eingabeaufforderung, dass die scheinbar installierte Version des Microsoft.Build.Utilities.Core
dll v14 ist : Microsoft.Build.Conversion.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL
Fehle ich hier etwas Schlüssel? Es scheint, dass das Installieren der Build-Tools 2017 den GAC nicht tatsächlich aktualisiert und die richtigen DLLs registriert hat.
Haben Sie DacFramework installiert? –
Ich schätze, Sie verwenden TeamCity? AFAIK verwendet standardmäßig das alte 4.0 msbuild, das in .NET Framework enthalten ist, das nicht für moderne Projekte funktioniert –
Bamboo tatsächlich –