.net 核心单元测试项目无法在 Azure Devops 管道中构建

.net core unit test project failing to build in Azure Devops pipeline

在我的解决方案中,我有针对 .netstandard 2.0 的项目,因为我们不能有针对同一平台的测试用例项目,我使用的是 .netcore 3.1 单元测试项目,即使我更新了构建管道以使用 .net 3.1 ,我在构建管道的还原 nuget 步骤中遇到以下问题。

##[error]The nuget command failed with exit code(1) and error(C:\Program Files (x86)\Microsoft Visual Studio17\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(112,5): error : The current .NET SDK does not support targeting .NET Core 3.1.  Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.1. [D:\a\s\src\SampleProject\test\UnitTest\UnitTest.csproj])
##[error]Packages failed to restore

注意:https://www.hanselman.com/blog/AzureDevOpsContinuousBuildDeployTestWithASPNETCore22PreviewInOneHour.aspx 是 link 我跟着解决了这个问题,但仍然面临同样的错误。

我从错误中可以看出您正在 运行在代理 vs2017-win2016 上设置管道。在 agent vs2017-win2016 中,在执行 nuget restore 命令时调用了 vs2017 中的旧版本 msbuild。

我遇到了类似的问题,旧版本的msbuild似乎无法正确找到安装的.NET Core 3.1。

请尝试使用代理 windows-2019(windows-最新)到 运行 您的管道。并使用任务使用.NET Core 安装 .NET Core 3.1。