这一切都始于TC中的VS2017跑步者类型。它没有任何错误或提示失败(除了解决方案级别的(default targets) -- FAILED.
消息)。我把它缩小到了.sqlproj&#39。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也为以前的版本单独安装。
此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
答案 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错误消息:
现在我必须复制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赛跑者也很满意。
答案 1 :(得分:0)