作为新手到论坛,可能会问一些简单的问题,请大家帮帮我。
使用自托管ado代理运行yml管道(Server 2019数据中心映像)。dotnet构建失败,出现以下错误:
构建失败。
C:\代理程序工作工具\网络\软件开发包\6.0.300\Microsoft通用当前版本目标(1221,5):错误MSB 3971:找不到.“NETFramework,版本=v6.0”的引用程序集。您可能使用的是较旧的.NET SDK以.NET 5.0或更高版本为目标。请更新Visual Studio和/或您的.NET SDK。[C:\agent_work\3\s\xxxxxxxx.xxxxxxxx.Tests.Api\xxxxxxxx.Tests.Api\xxxxxxxx.xxxxxx.Tests.Api.csproj]
0个警告
1个错误
经过时间00:00:00.40
我已经检查了自托管代理,并确保dotnet 5和6都安装。仍然不工作。尝试了几乎所有的东西,但没有luckidovs 2022也安装(2017年和2019年是并行安装以及)
我们使用自托管代理的原因是构建后的测试任务需要访问一些私有端点。
4条答案
按热度按时间qgzx9mmu1#
我得到了这个确切的错误建立一个容器。问题是这个旧的图像在dockerflie:
这修复了它:
a7qyws3x2#
在我的例子中,我在使用微软的“升级助手”工具将解决方案从netcore3.1转换为.net6后遇到了同样的问题。最后,似乎该工具没有转换其中一个项目,它仍然是netcore3.1。即使试图显式地转换单个项目,它也没有工作。我只需要手动完成,它解决了构建问题。
ndh0cuux3#
问题解决了。MSBuild环境变量指向dotnet 3.1.249,由于某种原因,当安装dotnet 6时,即使在同一文件夹中变量也没有更新。手动更新变量并重新启动代理服务。它在代理功能列表中显示为6。Build现在可以工作了。谢谢大家。我想新手犯了一个新手错误。
b4lqfgs44#
对不起,我没有足够的代表来对xuy22's answer进行注解,因此仅添加一个,环境变量名为 MSBuildSDKsPath