【问题标题】:.net core unit test project failing to build in Azure Devops pipeline.net 核心单元测试项目无法在 Azure Devops 管道中构建
【发布时间】:2020-08-03 21:49:15
【问题描述】:

在我的解决方案中,我有针对 .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 Studio\2017\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\1\s\src\SampleProject\test\UnitTest\UnitTest.csproj])
##[error]Packages failed to restore

注意:https://www.hanselman.com/blog/AzureDevOpsContinuousBuildDeployTestWithASPNETCore22PreviewInOneHour.aspx 是我用来解决此问题但仍面临相同错误的链接。

【问题讨论】:

  • 当前的 .NET SDK 不支持面向 .NET Core 3.1 消息告诉您,您应该更新构建代理上的 SDK
  • @PavelAnikhouski 同意!任何提到相同步骤的链接?

标签: .net azure azure-devops build-pipeline


【解决方案1】:

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

我也遇到了类似的问题,老版本的msbuild好像找不到正确安装的.NET Core 3.1。

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

【讨论】:

  • 感谢您的回答,我想补充的一件事是在恢复时始终使用最新的 nuget 版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 1970-01-01
相关资源
最近更新 更多