首页 > 解决方案 > .NET 5 - 找不到框架“Microsoft.NETCore.App”,版本“3.1.0”

问题描述

使用 azure 管道构建我的 .NET 5 功能时,出现以下错误

##[error]/home/vsts/.nuget/packages/microsoft.net.sdk.functions/3.0.11/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): Error : It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '3.1.0' was not found.
  - The following frameworks were found:
      5.0.4 at [/opt/hostedtoolcache/dotnet/shared/Microsoft.NETCore.App]

这也会Error : Metadata generation failed在构建脚本的下方显示错误

##[error]/home/vsts/.nuget/packages/microsoft.net.sdk.functions/3.0.11/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): Error : Metadata generation failed.

我的构建脚本是

trigger:
- master

stages:

- stage: 'Build'
  jobs:
  - job:
    pool:
      vmImage: 'ubuntu-latest'
    workspace:
      clean: all
    steps:
    - task: UseDotNet@2
      displayName: Use Dot Net Core 5.0.x
      inputs:
        packageType: 'sdk'
        version: '5.0.x'
    - task: DotNetCoreCLI@2
      displayName: Build
      inputs:
        arguments: '--configuration Release'
        command: 'build'
        projects: '**/*.csproj'

标签: azure-functions.net-5

解决方案


要构建 .NET 5 函数,需要 .NET Core 3 SDK。所以它必须与 5.0.x sdk 一起安装。

就我而言,这意味着脚本需要更新为

trigger:
- master

stages:

- stage: 'Build'
  jobs:
  - job:
    pool:
      vmImage: 'ubuntu-latest'
    workspace:
      clean: all
    steps:
    - task: UseDotNet@2
      displayName: Use Dot Net Core 3.1.x
      inputs:
        packageType: 'sdk'
        version: '3.1.x'
    - task: UseDotNet@2
      displayName: Use Dot Net Core 5.0.x
      inputs:
        packageType: 'sdk'
        version: '5.0.x'
    - task: DotNetCoreCLI@2
      displayName: Build
      inputs:
        arguments: '--configuration Release'
        command: 'build'
        projects: '**/*.csproj'

推荐阅读