DevOps 管道“project.assets.json”没有“net8.0”的目标

问题描述 投票:0回答:1

我最近从 Umbraco 10.x (.NET 6 Core) 升级到 13.x (.NET 8 Core)。

从那时起,构建该项目的管道就没有失败或抱怨,但我怀疑它仍在 .NET 6 中构建,因为它没有运行。我还可以在本地发布后将以下文件与管道的输出进行比较。

myproj.deps.json 有

{ "runtimeTarget": { "name": ".NETCoreApp,Version=v6.0" ...

myproj.runtimeconfig.json 有

{ "runtimeOptions" : { "tfm": "net6.0" ...

本地构建/发布那些有 8.0 的。

尝试类似帖子中的解决方案,我添加了“使用 .NET Core”的任务步骤

steps:
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 8.x'
  inputs:
    version: 8.x

我什至添加了一个 dotnet 信息来证明 8 在那里:

steps:
- task: DotNetCoreCLI@2
  displayName: 'dotnet info'
  inputs:
    command: custom
    custom: '--info' 

但是当进入构建步骤时,我收到以下错误:

steps:
- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    projects: '**/myproj.csproj'
    arguments: '--configuration $(BuildConfiguration) --no-restore --framework net8.0'

##[错误]C:\hostedtoolcache\windows\dotnet\sdk\8.0.204\Sdks\Microsoft.NET.Sdk argets\Microsoft.PackageDependencyResolution.targets(266,5):错误NETSDK1005:资产文件'D: \8\s\Dev\Main\myproj\obj\project.assets.json' 没有“net8.0”的目标。确保恢复已运行并且您已将“net8.0”包含在项目的 TargetFrameworks 中。

有或没有

--framework net8.0
,结果相同。

即使我没有专门做 NuGet,我也尝试添加以下内容而不做任何更改。

steps:
- task: NuGetToolInstaller@1
  displayName: 'Use NuGet 5.8'
  inputs:
    versionSpec: 5.8

我还尝试将主机从 windows-latest 更改为 windows-2022。没有变化。

我什至尝试将项目文件中的以下项目从

TargetFramework
更改为
TargetFrameworks

<TargetFramework>net8.0</TargetFramework>

任何想法或帮助将不胜感激。

.net azure-devops azure-pipelines umbraco .net-8.0
1个回答
0
投票

排除管道的前端部分,我们成功构建了 Umbraco 13(以及 .net 8)

pool:
  vmImage: 'windows-latest'
  demands:
  - msbuild
  - visualstudio
trigger:
  - main


variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'
  NUGET_PACKAGES: $(Pipeline.Workspace)/.nuget/packages

steps:
- task: UseDotNet@2
  displayName: Setup .Net 8
  inputs:
    packageType: 'sdk'
    version: '8.0.x'

- task: DotNetCoreCLI@2
  displayName: Publish Solution
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: True

- task: PublishBuildArtifacts@1
  displayName: Publish Artifact
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'prod-drop'
    publishLocation: 'Container'
© www.soinside.com 2019 - 2024. All rights reserved.