VSTS托管构建.Net Framework 4.6.2

时间:2016-08-30 17:18:35

标签: azure-devops azure-pipelines .net-4.6.2

我在VSTS构建过程中遇到错误,说明找不到.net 4.6.2。有什么想法可以在构建代理上使用吗?

  

2016-08-30T17:09:31.0009946Z ## [错误] C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ Microsoft.Common.CurrentVersion.targets(1098,5):错误MSB3644:框架的引用程序集" .NETFramework,Version = v4.6.2"没找到。要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本。请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位到您想要的框架。

6 个答案:

答案 0 :(得分:21)

从此处下载正确的开发者目标包:

https://www.microsoft.com/net/targeting

答案 1 :(得分:4)

首先,请确保您使用的.NET框架在此处列出: Targeting .NET Platforms(我不明白为什么没有列出4.6.1,列出了4.6.2。)。

要解决有关未找到.Net Framework的问题,请使用Nuget 3.5.0 RC2。它为我解决了这个问题。

Nuget version that solve the issue

答案 2 :(得分:1)

根据我的测试,我可以使用Hosted Build重现该问题。现在,Hosted Build不提供Net Framework 4.6.2。

您可以参考此帖子https://social.msdn.microsoft.com/Forums/en-US/f62a8156-d6a0-4a16-848e-ac426b3656a9/hosted-agent-support-for-net-framework-462?forum=TFService并投票给该用户语音https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/15691884-add-net-4-6-2-on-vsts-hosted-agent

解决方法是您可以在计算机上安装新的构建服务器并安装.Net Framework 4.6.2。

答案 3 :(得分:0)

只需将此行添加到Build解决方案 - > MSBuild参数

/p:TargetFrameworkVersion=v4.6.2

答案 4 :(得分:0)

将以下内容添加到web.config或由hirigoshy提及使用targetframework属性作为构建过程的一部分。

<compilation debug="true" targetFramework="4.6.2"/>

答案 5 :(得分:0)

当我使用默认主机作为代理程序时,我遇到了此问题-而是使用具有dotNet Framework支持的代理程序。 (例如,托管VS2017)