针对框架4.7.2的TFS生成作业失败

时间:2018-08-13 16:40:26

标签: tfs msbuild visual-studio-2017 .net-framework-version

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

我遇到以下错误:

  

任务参数:TargetFrameworkMoniker = .NETFramework,Version = v4.7.2   (TaskId:6)C:\ Program文件   (x86)\ MSBuild \ 14.0 \ bin \ Microsoft.Common.CurrentVersion.targets(1098,5):   错误MSB3644:框架的参考程序集   找不到“ .NETFramework,Version = v4.7.2”。为了解决这个问题,   为此框架版本安装SDK或Targeting Pack或   将您的应用程序重新定位到您所针对的框架版本   安装了SDK或Targeting Pack。请注意,程序集将   从全局程序集缓存(GAC)中解析,并将用于   参考装配体的位置。因此,您的程序集可能不会   正确定位您想要的框架。输出属性:   _TargetFrameworkDirectories =

关于我可以进行哪些检查以使FW 4.7.2与MsBuild配合使用的任何想法

2 个答案:

答案 0 :(得分:15)

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

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

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

答案 1 :(得分:0)

在某些情况下,乍一看,构建定义可能看起来不错。 My Build> Tasks> Pipeline可能选择了正确的座席池。

但是,代理程序作业可能选择了完全不同的代理程序池。

在这种情况下,只需选择适当的代理程序池并Save & queue新建一个版本即可解决问题。