TeamCity
У меня есть проект TeamCity с .NET CLI (dotnet) build step
для Visual Studio Solution ( .sln )
.
Решение включает в себя SQL Project ( .sqlproj )
.
Запуск этой сборкишаг дает ошибку:
[build] D:\TeamCity\buildAgent\work\e9ff385151b10e4c\Services\AccountCharacteristics\Database-RoundHouse-Deploy1\Database\Database.sqlproj(67,3): error MSB4019: The imported project "C:\Program Files\dotnet\sdk\2.2.101\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Database.sqlproj
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
<!-- Default to the v11.0 targets path if the targets file for the current VS version is not found -->
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">11.0</VisualStudioVersion>
</PropertyGroup>
<Import Condition="'$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
<Import Condition="'$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
Так что получается, что SQLDBExtensionsRefPath = C:\Program Files\dotnet\sdk\2.2.101\Microsoft\VisualStudio\v11.0\SSDT\
Очевидно, .sqlproj
по умолчанию 11,0 - оченьстарая версия Visual Studio
.
Как установить SQLDBExtensionsRefPath
?Как я могу установить / настроить агент для правильного пути?
Мой агент имеет:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VisualStudio\v16.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets
Также я заметил, что выпущен пакет NuGet:
https://www.nuget.org/packages/Microsoft.Data.Tools.Msbuild/
Но не понятно, как его использовать.Кажется очевидным, что мне нужно сослаться на пакет в VS .csproj
.Но тогда как обеспечить, чтобы Visual Studio
и Team City
указывали на Microsoft.Data.Tools.Schema.SqlTasks.targets
в пакете (в папке packages
)?