如何在“无头”构建服务器上构建SSDT项目?

时间:2017-01-18 17:57:39

标签: .net sql-server msbuild sql-server-data-tools

我有Windows Server 2012 R2,我想用它在CI管道中从SSDT构建sampleSpace项目。这就是我到目前为止所做的:

  • 已安装的nuget命令行
  • 已安装的nuget包.sqlproj

当我用

构建我的解决方案时

Microsoft.Data.Tools.Msbuild

我收到错误C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe database.solution.sln /p:tv=14 /p:SSDTPath=D:\Nuget\Microsoft.Data.Tools.Msbuild\lib\net40 /p:SQLDBExtensionsRefPath=D:\Nuget\Microsoft.Data.Tools.Msbuild\lib\net40 /p:Configuration=Debug

我错过了什么想法?目标是使构建服务器尽可能轻,因此不要在其上安装Visual Studio或SSDT。

这是MsBuild的完整输出:

Could not load file or assembly 'Microsoft.Build.Utilities.Core

1 个答案:

答案 0 :(得分:3)

SSDT NuGet包期望MSBuild版本14.0 Update 3或更新版本(即15.0 RC)。这可以在这里找到:https://www.microsoft.com/en-us/download/details.aspx?id=48159

您还需要设置一些环境变量来引用NuGet包位置,如下所示: setx SQLDBExtensionsRefPath C:\agent\Microsoft.Data.Tools.Msbuild\lib\net40 /M setx SSDTPath C:\agent\Microsoft.Data.Tools.Msbuild\lib\net40 /M

参考链接: https://blogs.msdn.microsoft.com/ssdt/2016/08/22/releasing-ssdt-with-visual-studio-15-preview-4-and-introducing-ssdt-msbuild-nuget-package/