2017-07-26 121 views
8

这一切都始于TC内的VS2017跑步者类型。这是失败没有任何错误或提示(解决方案级别上的(default targets) -- FAILED.消息除外)。我将其缩小到.sqlproj'ects。这些不是通过MSBuild构建的,它们可以在构建代理的VS2017中完美编译。 我在为它指责SSDT ......但我想我已经检查了一切。这是冒泡的解决方案水平TC建设中的问题:TeamCity/.sqlproj通过MSBuild构建 - 失败

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之外,构建工具也安装在构建代理上,VS2017的TeamCity运行器显然使用构建工具中的MSBuild。 正如你在上面看到的,我也从Build Tools中复制了MSBuild的问题。 如果我选择VS2017的MSBuild“版本”,它就像一个魅力(因为它在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

回答

7

我发现了一个博客帖子从Lukie Briner,他的最后一段指出我的解决方案(感谢你哥们!)。

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

原因:构建工具及其MSBuild版本中缺少SSDT。

我做了什么:

复制从

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

SSDT文件夹

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

哇!我终于看到了真正的错误消息

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

和咚......

success

是的,从TeamCity的在VS2017亚军也是满意的。

相关问题