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

问题描述 投票:8回答:2

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

enter image description here

我注意到对于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也为以前的版本单独安装。

stack是相关的,但它没有帮助我。

还有其他想法吗?


我走得更远了。除了VS之外,构建工具也安装在构建代理上,而TeamCity的VS2017运行器显然使用了构建工具中的MSBuild。正如您在上面所看到的,我也在使用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

msbuild teamcity visual-studio-2017 sql-server-data-tools database-project
2个回答
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错误消息:

build-tools-msbuild-error-message

现在我必须复制SQLDBSQLEditor(我认为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 ......

success

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


1
投票

看起来像Build Tools和SSDT的问题现在已经解决了,你不必再乱用目标目录的手动副本了(Visual Studio Build Tools 2017 v15.9.8)。

  1. 只需打开构建代理服务器上安装的Visual Studio即可
  2. 修改构建工具安装
  3. 选择安装“数据存储和处理工具”
  4. 修改

构建现在应该工作。

Modify VS Build Tools

© www.soinside.com 2019 - 2024. All rights reserved.