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

时间:2017-07-26 09:37:32

标签: msbuild teamcity visual-studio-2017 sql-server-data-tools database-project

这一切都始于TC中的VS2017跑步者类型。它没有任何错误或提示失败(除了解决方案级别的(default targets) -- FAILED.消息)。我把它缩小到了.sqlproj&#39。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重现了这个问题。 如果我选择MSBuild"版本" VS2017的效果就像一个魅力(就像在VS中一样)。 简而言之:

不工作

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

WORKS

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

2 个答案:

答案 0 :(得分:8)

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

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

原因:Build Tools及其版本的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

WOW!我终于看到 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 :(得分:0)

似乎构建工具和SSDT的问题现在已经解决,您不必再麻烦手动复制目标目录(Visual Studio Build Tools 2017 v15.9.8)。

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

构建现在应该可以正常工作。

Modify VS Build Tools