2017-03-09 128 views
8

我们在TFS 2015中有一个构建定义,这些构建定义在Visual Studio 2015项目和解决方案中运行良好。我们现在决定升级到Visual Studio 2017,因此我们希望在Visual Studio构建任务中定位Visual Studio 2017。我们已经在构建代理上安装了Visual Studio 2017。不幸的是,Visual Studio构建任务中唯一可用的选项是2012,2013,2015和Latest。我们已经尝试了最新版本,但是在构建代理上没有找到Visual Studio 2017。它也不会与msbuild任务一起使用。TFS 2015 visual studio构建任务不支持VS 2017

+0

“已决定”“安装在构建代理上”请告诉我们,这不是它看起来像......这样的事情不应该被测试在生产环境中...... – swe

+1

谁甚至提到过生产环境?我根本不明白你的观点。 – Quattordici

回答

1

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

查看docs了解详情。

+0

我对构建代理上的构建工具没有问题。问题在于tfs中的内置构建任务不知道如何找到2017构建工具。现在看来,我们将不得不采取命令行方式。 – Quattordici

+0

@Quattordici,如何使用MSBuild任务而不是Visual Studio Build Step,然后指定MSBuild 15.0的位置? –

+0

@ Cece-MSFT这也是我的第一个想法。它没有工作,因为它不会找到指定的路径。并因此回退到旧的msbuild。很奇怪!我假设它正在寻找构建代理的路径。 – Quattordici

2

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

+0

感谢您的详细信息。为了验证我们是否拥有公司TFS 2015服务器,并且没有计划将其升级到2017年路线图,那么我们不能在C#7中使用任何新的语言功能,因为VS2017将无法识别。 – Tedford

+0

@Eddie - MSFT请指出VS2017不能与TFS 2015 Update 3一起使用的官方声明。 – StingyJack

+0

@ Eddie-MSFT:我也遇到过这个问题,我的TFS 2017仍然没有在VS版本中显示Visual Studio 2017下拉菜单在VS生成任务。是否可以手动更新?如果是这样,请让我知道步骤。 – Bandara

1

我们正面临类似的问题,我们无法更新自己,因为它在公司层面上维护,我们无法承受那么大的影响。 但是,我们的团队希望切换到VS2017并利用C#7功能。这就是为什么我们尝试将Visual Studio Build的构建步骤替换为MSBuild。可惜这没有按预期工作(我们在构建过程中遇到了一些错误)。

因为我们的主要目标是使用C#7功能,所以我们寻找了一种方法,在构建服务器上仍然保留Visual Studio 2015的同时仍然可以实现这一点。我们最终使用了nuget包Microsoft.Net.Compilers,在项目中使用时,将使用该编译器而不是已安装的编译器。 关于此问题的更多信息,请参见Thread

7

我有一个类似的问题,在我的生成代理服务器中安装VS2017和配置的MSBuild指向我的MSBuild 15.0文件夹解析:

  1. 添加的MSBuild到您的构建步骤
  2. 在高级选项,扩大并填写 '路径的MSBuild' 像下面的图片:

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

    enter image description here

+0

这是唯一可行的解​​决方案。有时在msbuild参数中添加'/ tv:15.0'是必要的 – StingyJack

0

只需添加另一件事:如果你使用自定义生成模板确保对其进行编辑和修改刀具路径属性值:

C:\ Program Files文件(x86)的\微软的Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin

相关问题