【问题标题】:Using TFS 2018 to build a solution with VS 2019使用 TFS 2018 与 VS 2019 构建解决方案
【发布时间】:2021-06-16 23:26:04
【问题描述】:

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

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: c# tfs visual-studio-2019 build-agent tfs-2018


    【解决方案1】:

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

    【讨论】:

    • 我会尝试安装 2.159.2 版本。但是我想知道为什么它不适用于更新的版本?正如您在我的问题中看到的,我已经在使用 2.184.0 版本,它比您建议的版本更新。
    猜你喜欢
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2023-03-09
    • 2012-04-18
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多