0

是否可以使用 TFS 2018 服务器(版本 16.131.27701.1)通过 Visual Studio 2019 构建 C# 程序?如果是这样,怎么做?

我有一个安装了 Visual Studio 2019 的构建代理(使用 Azure Pipelines Agent v2.184.0)。TFS 表示它具有以下功能:

MSBuild 功能

Visual Studio 功能

在我的构建管道中,我尝试了 Visual Studio Build 任务和 MSBuild 任务。但是,对于这两项任务,我只能选择 2017 年之前的 Visual Studio 版本:

Visual Studio 版本选择 MSBuild 版本选择

使用“最新”时,它会自动回退到使用 4.0:

项目文件包含 ToolsVersion="16.0"。此工具集可能未知或丢失,在这种情况下,您可以通过安装适当版本的 MSBuild 来解决此问题,或者出于政策原因,该构建可能已被强制使用特定的 ToolsVersion。将项目视为拥有 ToolsVersion="4.0"。

我什至尝试手动设置 MSBuild 16.0 的路径:

MSBuild 路径

然后我得到一个不同的错误:

C:\Program Files\dotnet\sdk\5.0.201\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5): Error NETSDK1004: Assets file 'C:\Users[...] \obj\project.assets.json' 未找到。运行 NuGet 包还原以生成此文件。

但是,NuGet 还原任务就在 MSBuild 任务之前,并且它成功完成了!

4

1 回答 1

0

通常VS和TFS会匹配当前版本,根本原因是TFS 2018的代理无法识别VS 2019的能力,因为当时没有发布VS 2019。例如在 TFS 2018 中将支持 VS 2017 及之前的版本,在 Azure DevOps server 2019 中将支持 VS 2019 及之前的版本。并且目前我们发现有开发者可以通过代理 2.159.2使 VS2019 在 TFS2018 中运行。我们建议您可以下载版本 2.159.2 并使用 MSbuild 任务重试。

于 2021-03-25T02:09:41.087 回答