【问题标题】:TFS 2015 visual studio build task does not support VS 2017TFS 2015 Visual Studio 构建任务不支持 VS 2017
【发布时间】:2017-07-30 08:45:18
【问题描述】:

我们在 TFS 2015 中有一个构建定义,它在 Visual Studio 2015 项目和解决方案中运行良好。我们现在决定升级到 Visual Studio 2017,因此我们希望在 Visual Studio 构建任务中以 Visual Studio 2017 为目标。我们已经在构建代理上安装了 Visual Studio 2017。不幸的是,Visual Studio 构建任务中唯一可用的选项是 2012、2013、2015 和最新版本。我们尝试了最新的,但它在构建代理上找不到 Visual Studio 2017。它也不适用于 msbuild 任务。

【问题讨论】:

标签: tfs-2015 visual-studio-2017


【解决方案1】:

我有一个类似的问题,通过在我的构建代理服务器中安装 VS2017 并将 MSBuild 配置为指向我的 MSBuild 15.0 文件夹来解决:

  1. 将 MSBuild 添加到您的构建步骤中
  2. 在高级选项中,展开并填写“MSBuild 路径”,如下图所示:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
    

【讨论】:

  • 这是唯一有效的解决方案。有时需要在 msbuild 参数中添加 /tv:15.0
  • 我遇到过类似的问题,使用此方法通过将我的 TFS2015 构建指向 VS2017 msbuild 路径解决了我构建 C#7 代码的问题,我唯一想提的是该路径不应该包含任何引号字符。我正在使用引用的路径并且构建对我不起作用,但是一旦删除引号,一切都会正常构建 - 需要提及的一件小事,但它让我绊倒了一段时间!
  • 这些细节非常重要,所以我们不花时间。感谢您的反馈害虫!刚刚编辑了答案。
  • 如何调出那个窗口?多年来,我们一直在使用 TFS 和完整的 MS 订阅。一半的指针在这里我看不到哪里。工具路径? MsBuild 工具路径?在哪里?如何?你使用的是什么版本的 TFS/VS2019?我已经厌倦了 MS 的这个版本问题
【解决方案2】:

只是添加另一件事:如果您使用的是自定义构建模板,请确保对其进行编辑并将 ToolPath 属性值修改为:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin

【讨论】:

  • 我放弃了。什么工具路径?我刚刚下载了默认模板。没有工具路径。也没有MS工具路径...你们用的是什么版本?
【解决方案3】:

我们面临着类似的问题,我们无法更新自己,因为它是在公司层面维护的,我们无法产生太大影响。 然而,我们的团队想要切换到 VS2017 并利用 C# 7 的特性。这就是我们尝试将构建步骤从 Visual Studio Build 替换为 MSBuild 的原因。遗憾的是,这并没有按预期工作(我们在构建过程中遇到了一些错误)。

由于我们的主要目标是使用 C# 7 功能,因此我们寻找一种方法来实现这一目标,同时 Visual Studio 2015 仍保留在 Build Server 上。我们最终使用了 nuget 包 Microsoft.Net.Compilers,当在项目中使用它时,将使用该编译器而不是安装的编译器。 更多信息可以在 Thread 中找到。

【讨论】:

    【解决方案4】:

    VS2017 RTM 是最近发布的,而 TFS2015 是之前发布的。这就是为什么 TFS2015 Server 的 VS Build Task 中没有 VS2017 选项的原因。如果您将服务器升级到最新的 TFS2017,您会在 VS Build Task 中看到“Visual Studio "15" (preview)" 选项,这是 VS2017 预览版。并且在该功能中,选项将更新为与VSTS相同的VS2017。

    【讨论】:

    • 感谢您提供详细信息。为了验证我们是否有企业 TFS 2015 服务器并且没有计划将其升级到 2017 路线图,那么我们不能使用 C# 7 中的任何新语言功能,因为 VS2017 将无法识别。
    • @Eddie - MSFT 请指出 VS2017 不能与 TFS 2015 Update 3 一起使用的官方声明。
    • @Eddie-MSFT:我也遇到了这个问题,我的 TFS 2017 在 VS Build 任务中的 VS Version 下拉菜单中仍然没有显示 Visual Studio 2017。可以手动更新吗?如果是这样,请告诉我步骤。
    【解决方案5】:

    构建工具的更新似乎是通过 VS2017 安装程序的命令行安装的。

    详情请参阅docs

    【讨论】:

    • 我对构建代理上的构建工具没有任何问题。问题是 tfs 中的内置构建任务不知道如何找到 2017 构建工具。目前看来,我们将不得不使用命令行方式。
    • @Quattordici,不如使用MSBuild任务代替Visual Studio Build Step,然后指定MSBuild 15.0的位置?
    • @Cece-MSFT 这也是我的第一个想法。它没有工作,因为它找不到指定的路径。因此回退到旧的 msbuild。很奇怪!我假设它正在寻找构建代理的路径。
    • 所有工具都应该安装在构建代理机器上。如果在 MSBuild 任务中指定构建代理机器上 MSBuild 15.0 的位置,会出现什么错误?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多