簡體   English   中英

gitlab CI 中的 ASP.NET 核心項目構建錯誤:錯誤 NETSDK1045:當前 .NET SDK 不支持面向 .NET Core 5.0

[英]ASP.NET core project build error in gitlab CI : error NETSDK1045: The current .NET SDK does not support targeting .NET Core 5.0

當我使用這個 CI 配置文件時,從 gitlab 管道中得到構建錯誤:

/usr/share/dotnet/sdk/2.1.809/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(137,5):錯誤NETSDK1045:當前.NET SDK不支持.NET核心 5.0。 以 .NET Core 2.1 或更低版本為目標,或使用支持 .NET Core 5.0 的 .NET SDK 版本。

image: microsoft/dotnet:latest


variables:
    # 1) Name of directory where restore and build objects are stored.
    OBJECTS_DIRECTORY: 'obj'
    # 2) Name of directory used for keeping restored dependencies.
    NUGET_PACKAGES_DIRECTORY: '.nuget'
    # 3) A relative path to the source code from project repository root.

    SOURCE_CODE_PATH: '*/*/'

# ### Define stage list

stages:
    - build
    - test

# ### Define global cache rule
cache:
    # Per-stage and per-branch caching.
    key: "$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG"
    paths:
    # Specify three paths that should be cached:
    #
    # 1) Main JSON file holding information about package dependency tree, packages versions,
    # frameworks etc. It also holds information where to the dependencies were restored.
    - '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/project.assets.json'
    # 2) Other NuGet and MSBuild related files. Also needed.
    - '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/*.csproj.nuget.*'
    # 3) Path to the directory where restored dependencies are kept.
    - '$NUGET_PACKAGES_DIRECTORY'
    
    # 'pull-push' policy is the default cache policy, you do not have to specify it explicitly.
    policy: pull-push

# ### Restore project dependencies
before_script:
    - 'dotnet restore --packages $NUGET_PACKAGES_DIRECTORY'

build:
    stage: build

    script:
    - 'dotnet build --no-restore'

tests:
    stage: test
    # ### Run the tests
    
    script:
    - 'dotnet test --no-restore'

我們應該准確地編寫 dotnet 版本:

image: mcr.microsoft.com/dotnet/core/sdk:5.0

代替

image: microsoft/dotnet:latest

聽起來您的 CI/CD 機器需要安裝最新版本的 .NET Core SDK。 或者將您的項目與構建機器上安裝的 .NET Core 版本掛鈎,根據錯誤,該版本似乎是 v2.1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM