NuGet Restore任务失败(与netcoreapp2.2不兼容),但它在Visual Studio中有效

时间:2019-09-19 14:05:32

标签: azure-devops azure-pipelines

我正在尝试在Azure Pipelines中构建存储库。它可以在Visual Studio中正常构建,但是在使用Azure Pipelines(在构建计算机上运行代理)时,它将失败,并显示以下错误:

The nuget command failed with exit code(1) and error

Project MyProject is not compatible with netcoreapp2.2 (.NETCoreApp,Version=v2.2). 
Project MyProject supports: netstandard2.0 (.NETStandard,Version=v2.0)

我该如何解决?

这是yaml构建脚本:

pool:
  name: MyBuildServer
  demands:
  - msbuild
  - visualstudio

steps:
- task: NuGetCommand@2
  displayName: 'NuGet restore'

- task: VSBuild@1
  displayName: 'Build solution **\*.sln'

- task: VSTest@2
  displayName: 'Run tests'
  inputs:
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\*test*.dll
      !**\*TestAdapter.dll
      !**\obj\**
    searchFolder: '$(System.DefaultWorkingDirectory)'

1 个答案:

答案 0 :(得分:1)

  

NuGet Restore任务失败(与netcoreapp2.2不兼容),但在Visual Studio中可以工作

Azure管道上使用的nuget的版本似乎不是最新版本,这可能会导致不兼容问题。

要解决此问题,您可以尝试添加一个NuGet Tool Installer任务,将其指向要安装的NuGet.exe版本,您只需指定所需的NuGet.exe的版本号即可在构建中执行。

enter image description here

正确配置此选项后,将使用最新的.net核心版本成功构建所有版本。

此外,如果上述方法不能解决您的问题,则可以尝试使用dotnet恢复任务代替nuget恢复任务。

希望这会有所帮助。