【发布时间】:2020-10-18 19:10:41
【问题描述】:
我正在尝试为 .NET core 3.1 Web 应用程序创建管道,但在 NuGet 还原步骤中一直遇到问题。
错误是:
.NET Core SDK 版本 3.1.100 至少需要版本 16.3.0 MSBuild 的。当前可用的 MSBuild 版本是 15.9.21.664。 将 global.json 中指定的 .NET Core SDK 更改为旧版本 这需要当前可用的 MSBuild 版本。
我的 VS 更新到最新版本,安装在依赖项中的 MSBuild 为 16.6.0,但看起来它仍然只针对(发现)15.9.21.664,我不知道为什么。
我的 csproj 项目有这些规范
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build" Version="16.6.0" />
<PackageReference Include="Microsoft.Build.Framework" Version="16.6.0" />
<PackageReference Include="Microsoft.Build.Runtime" Version="16.6.0" />
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="16.6.0" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.6.0" />
</ItemGroup>
</Project>
如果我理解正确的话,global.json 会在核心 3+ 中被删除,并被 csproj 中的内容所取代,因此它应该具有正确的 16+ 版本?
正如有人在已经讨论过的线程中指出的那样,我还在 NuGet 还原之前使用“使用 .NET Core SDK 3.x”步骤。
我的 DevOps 管道的屏幕截图:
我正在尝试进入 DevOps 和 Azure...
【问题讨论】:
-
查看管道的设置。您使用的是哪个代理规范?它类似于 ubuntu-16.04 或 windows-2019。尝试不同的是我的建议。
-
@PEK Azure 池设置为
并且当我将其更改为 Azure Pipelines 并将规范更改为 window-2019 时,它已成功构建。感谢您的提示,我一直在寻找依赖项的版本。 -
@PEK TomášTomHaverla 你可以添加一个答案。
标签: c# azure azure-devops msbuild azure-pipelines