Framework 4.7.2 的 TFS 构建作业失败

TFS build job failed for Framework 4.7.2

我已经在 TFS 2013 服务器上安装了框架 4.7.2 并尝试使用 msbuild 构建作业。

我收到以下错误:

Task Parameter:TargetFrameworkMoniker=.NETFramework,Version=v4.7.2 (TaskId:6) C:\Program Files (x86)\MSBuild.0\bin\Microsoft.Common.CurrentVersion.targets(1098,5): error MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.7.2" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. Output Property: _TargetFrameworkDirectories=

关于我可以检查哪些内容以使 FW 4.7.2 与 MsBuild 一起工作的任何想法

我们刚刚遇到了一个非常相似的问题,尽管我们使用的是 Azure Devops 而不是 TFS(但我认为构建过程应该足够相似,至少在这一点上是这样)。

我通过更新构建服务器上的 .NET Framework 以及安装 .NET Framework 4.7.2 开发人员包解决了这个问题,您可以从这里获取: https://www.microsoft.com/net/download/visual-studio-sdks

别忘了重启(就像我一样)。完成后,按照 Leo 的建议,尝试直接在构建服务器上 Visual Studio 中打开项目,或者从命令行手动 运行 msbuild。

在某些情况下,构建定义乍一看可能没问题。 My Build > Tasks > Pipeline 可能有正确的代理池 selected。

但是,代理作业可能有一个完全不同的代理池 selected。

在这种情况下,只需 select 正确的代理池和 Save & queue 新版本即可解决问题。