1

在 TFS 服务器上构建时,持续构建数据库项目失败。我们安装了 Visual Studio 2013 Shell(集成)。似乎没有办法通过“工具” > “扩展和更新...”菜单安装SQL Server Data Tools 2013 。

编辑错误如下...

C:\TFSBuild\XXX\XXX\Database_CI\Sources\Database\XXX\XXX.sqlproj (126):导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft .Data.Tools.Schema.SqlTask​​s.targets”没有找到。确认声明中的路径正确,并且该文件存在于磁盘上。

有没有人经历过这个?有解决方案或变通方法吗?SSDT 是否可用于 SQL Server 2014 的 VS 2013 Shell?

4

3 回答 3

4

我最近在我们的构建服务器上安装了 Visual Studio Shell(隔离)和(集成),它不包括 SQL Server 工具组件。我发现 SQL Server 工具内置于以下版本的 Visual Studio(请参见此处):

  • 网络快递,
  • 用于 Windows 桌面的 Express,
  • 专业的,
  • 保费,和
  • 最终的

我建议至少安装专业版,然后您应该获得构建所需的 SQL Server Data Tools 组件。

SQL Server Tooling 现在内置于上述 Visual Studio 2013 版本(SSDT 和 Visual Studio 版本)中,Visual Studio 2013 的最新 3 月更新现在包括 SQL Server 2014 支持(SQL Server Data Tools for SQL Server 2014 可用。)

要强制您的构建使用正确版本的 MSBuild,请设置 Process - Advanced - MSBuild arguments = "/p:VisualStudioVersion=12.0"(不带引号),如图所示。

MSBuild 参数设置

于 2014-05-23T13:15:00.570 回答
0

您可以在此处下载适用于 VS2012 的 SSDT,这应该会在您的构建服务器上获得数据库 pre-reqs。

我确实在这个登录页面上看到了“Visual Studio 2013 中的 Sql Server 工具”的提及,我认为这意味着这些工具应该可以在 shell 中使用,所以如果可以的话,检查一下你的某处是否有那个目标文件构建服务器。

进入 C:\Program Files(x86)\ 并执行“ dir Microsoft.Data.Tools.Schema.SqlTasks.targets /s /b”,看看是否有问题出现。

现在它被硬编码到这个位置:C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTask​​s.targets 你可能想看看文件是否已经存在,但在另一个位置,例如在“v12.0”文件夹而不是“v11.0”子文件夹中。

编辑 实际上,您的 .sqlproj 第 126 行的值是多少?

如果它这样说:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />

将其更改为:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />

然后让每个人都使用诊断日志对其进行测试,然后收集日志并进行比较以确保版本一致,以便您可以开始逐步淘汰遗留位。

于 2014-04-09T17:50:51.897 回答
0

我有同样的问题并通过下载并安装以下内容来修复它

  1. dacframework.msi
  2. SQLDOM.MSI
  3. SQLLS.MSI
  4. SQLSysClrTypes.msi

从这里:

https://www.microsoft.com/en-au/download/details.aspx?id=42295

于 2016-07-26T06:01:34.943 回答