visual-studio-2017 - 用于 Visual Studio 2017 的 SQL Server Data Tools (SSDT) 的 headless 安装

标签 visual-studio-2017 sql-server-data-tools

对于构建服务器,我们需要针对 Visual Studio 2017 安装 SQL Server Data Tools。

我们的构建服务器已经有“Visual Studio 2017 的构建工具”,它为 headless 构建提供了很好的支持。但是任何带有 SSDT 项目的解决方案都会由于缺少 MSBuild 目标而失败,例如:
[MSBuild] src\Database\Upfront.Database.sqlproj: Build default targets [10:27:46][src\Database\Upfront.Database.sqlproj] E:\BuildAgent\work\7769fbf76d8b9008\src\Database\Upfront.Database.sqlproj(56, 3): error MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.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.
首先,我尝试修改“Build Tools for Visual Studio 2017”安装的组件集,但似乎没有可用的 SSDT 组件。

其次,我尝试安装 SSDT for Visual Studio 2017 ,它似乎没有正确安装到“VS 2017 的构建工具”配置文件中。它确实允许我创建一个新的 VS 2017 配置文件,例如 SQL,因此所需的 MSBuild 文件安装在 C:\Program Files (x86)\Microsoft Visual Studio\2017\SQL\ 下。 ;但是它改变了我的 msbuild 环境变量,因此找不到“VS 2017 的构建工具”文件(位于 C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools 中),导致 C# 项目无法构建。

似乎“SSDT for Visual Studio 2017”和“Build Tools for Visual Studio 2017”彼此不兼容。有没有人能让他们一起工作?或者有没有人找到在构建服务器上构建 SSDT 项目的更好方法?

SSDT 非常棒,除了构建服务器支持,这每次都很痛苦。

最佳答案

对 ssdt 数据库项目的构建支持现在可用作此确切场景的 nuget 包。

这包含有关如何为 ssdt 数据库项目配置构建服务器的所有详细信息:

https://blogs.msdn.microsoft.com/ssdt/2016/08/22/part-5-use-your-own-build-and-deployment-agent/

其要点是您下载 nuget 包并将其解压缩到某处,然后设置几个环境变量以指向包内容,您应该可以在没有 Visual Studio 的情况下继续构建。

埃德

关于visual-studio-2017 - 用于 Visual Studio 2017 的 SQL Server Data Tools (SSDT) 的 headless 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46899252/

相关文章:

asp.net-mvc - 如何在 Rider IDE 中进行 ASP.NET MVC View 脚手架?

docker - VS2017 : Adding environment variables to docker container for debugging

database - SSDT 如何 : Deploy . dacpac 忽略目标上的放置列

sql-server - SSIS 脚本任务丢失代码

msbuild - 如何使用 MSBuild 构建 Visual Studio 2017 VSIX

c - Visual Studio 2017 srand() 崩溃(在线编译器有效)

sql-server - 抑制SQL Server SSDT中的一些警告

sql - 使用 SQL 身份验证执行 SSIS 包

sql-server - 部署 dacpac 时更改逻辑和物理文件名

node.js - 新的 React 项目 2.1 因 NPM ERR 而失败! 418我是茶壶