【问题标题】:MSBuild Errors for Database Project on TFS server with VS 2013 shell带有 VS 2013 shell 的 TFS 服务器上的数据库项目的 MSBuild 错误
【发布时间】:2014-04-09 16:27:53
【问题描述】:

在 TFS 服务器上构建时,连续构建数据库项目失败。我们安装了 Visual Studio 2013 Shell(集成)。似乎没有办法通过 Tools > Extensions and Updates... 菜单安装 SQL Server Data Tools 2013。 p>

编辑错误如下...

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 是否可用于 VS 2013 Shell for SQL Server 2014?

【问题讨论】:

    标签: msbuild visual-studio-2013 sql-server-data-tools sql-server-2014


    【解决方案1】:

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

    • 网络快递,
    • Express for Windows 桌面,
    • 专业,
    • 高级版和
    • 终极

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

    SQL Server 工具现已内置到上述 Visual Studio 2013 版本 (SSDT and Visual Studio versions) 中,Visual Studio 2013 的最新 3 月更新现在包括 SQL Server 2014 支持 (SQL Server Data Tools for SQL Server 2014 is available。)

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

    【讨论】:

    • 我最终还是安装了完整版的 VS2013,并用 2012 替换了 SQL Server 2014,在经历了很多挫折之后。它现在适用于所有组件。我希望 MS 能够更清楚地了解不同组件的兼容性,尤其是最新版本。
    • @paulwebber10:是的,这似乎是最简单的方法。这个相关主题描述了如何在没有安装 Visual Studio 的情况下完成它并提供了链接,但它涉及很多额外的步骤:stackoverflow.com/questions/15556339/…
    【解决方案2】:

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

    我确实在this landing page 上看到提到“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" />
    

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

    【讨论】:

    • 它确实像您上面所说的 $(VisualStudioVersion) 一样,它被声明为 10.0。我将其更改为 12.0,但将其恢复为 11.0。另外,我只有目录搜索只产生了 v12.0\SSDT\Microsoft.Data.Tools.Schema.SqlTask​​s.targets。
    【解决方案3】:

    我遇到了同样的问题并通过下载和安装以下解决了它

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

    从这里:

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

    【讨论】:

      猜你喜欢
      • 2014-10-19
      • 1970-01-01
      • 2017-03-29
      • 2017-03-30
      • 2015-03-30
      • 2019-08-30
      • 2023-03-22
      • 2011-03-23
      • 2018-07-16
      相关资源
      最近更新 更多