首页 > 解决方案 > TeamCity SQL 项目:未找到 Microsoft.Data.Tools.Schema.SqlTask​​s.targets

问题描述

团队城市

我有一个带有.NET CLI (dotnet) build stepfor a的 TeamCity 项目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.

数据库.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 StudioTeam City指向Microsoft.Data.Tools.Schema.SqlTasks.targets包中的(packages文件夹下)呢?

标签: sql-servervisual-studioteamcityroundhouse

解决方案


使用 setx SQLDBExtensionsRefPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VisualStudio\v16.0\SSDT" 将其设置为环境变量

或通过 Windows UI 中的“环境变量”添加

请参阅https://docs.microsoft.com/en-us/archive/blogs/ssdt/part-5-use-your-own-build-and-deployment-agent


推荐阅读