TeamCity/.sqlproj通过MSBuild构建 - 失败

tim*_*use 8 msbuild teamcity database-project sql-server-data-tools visual-studio-2017

这一切都始于TC中的VS2017转轮类型.它没有任何错误或提示失败(除了(default targets) -- FAILED.解决方案级别的消息).我把它缩小到了.sqlproj'ects.这些不是通过MSBuild构建的,它们在构建代理上的VS2017中完全编译.我正在责备SSDT ......但我猜我检查了一切.这是在TC构建中达到解决方案级别的问题:

在此输入图像描述

我注意到对于VS2017,SSDT附带了VS设置.安装了"工作负载""数据存储和处理","单个组件"下的"SQL Server数据工具"也是如此.我注意到https://docs.microsoft.com/EN-US/sql/ssdt/download-sql-server-data-tools-ssdt句子"如果你在Visual Studio 2017中使用SSDT,请安装AS和RS组件".做到了.没有改变.SSDT也为以前的版本单独安装.

这个堆栈是相关的,但它没有帮助我.

还有其他想法吗?


我走得更远了.除了VS生成工具安装以及在构建剂和TeamCity的亚军为VS2017显然使用的MSBuild从Build工具.正如您在上面所看到的,我也在使用Build Tools中的MSBuild重现了这个问题.如果我选择VS2017的MSBuild"版本",它就像一个魅力(就像在VS中一样).简而言之:

什么都不行

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

作品

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin

tim*_*use 8

我找到了Lukie Briner的博客文章,他的最后一段向我指出了解决方案(谢谢伙计!).

仍然不知道为什么/如何发生这种情况,也许它与Build Tools,SSDT,Visual Studio等的安装顺序有关?

原因是:BuildT及其版本的MSBuild中缺少SSDT.

我做了什么:

SSDT从中复制文件夹

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

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

哇!我终于看到一条REAL错误消息:

构建工具 -  MSBuild的错误消息

现在我必须复制SQLDB并且SQLEditor(我认为SQLCommon已经存在于目标文件夹中,如果不是也应该复制)

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

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

和BOOM ......

成功

是的,来自TeamCity的VS2017赛跑者也很满意.