[英]Unable to build the ASP.Net Core 7 in azure devops pipeline (CI)
无法在 azure devops 管道 (CI) 中构建 ASP.Net Core 7,使用经典管道和 ASP.net 核心模板
错误信息:
##[错误]C:\Program Files\do.net\sdk\6.0.203\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(144,5): Error.NETSDK1045: 当前.NET SDK 不支持定位 .NET 7.0. 要么以 .NET 6.0 或更低版本为目标,要么使用支持 .NET 7.0 的 .NET SDK 版本。
添加任务以安装所需的 .NET 版本(您可以将 7.x 更改为更具体的版本)
- task: UseDotNet@2
displayName: 'Use .NET Core SDK 7.x'
inputs:
packageType: sdk
version: '7.x'
installationPath: $(Agent.ToolsDirectory)/dotnet
我们在自托管代理上升级到 .NET 7 时遇到了同样的问题,尽管按照 silent 的描述添加了UseDotNet@2
,但我们仍然以引用各种 6.0.x SDK 目标的失败告终。
这个问题最终通过这个答案得到解决。 这是由于之前安装了 .NET 6 和变量MSBuildSDKsPath
。 如果您有自托管代理,请检查代理的“功能”以显示变量本身。
如果做不到这一点,请通过管道本身检查它的值,步骤如下:
- script: set
displayName: show all env vars
我们的 ci-pipeline.yaml 的示例片段如下所示。 重要说明是MSBuildSDKsPath覆盖代理上设置的任何环境变量以反映新安装的位置 .NET 7 SDK;
trigger:
branches:
include:
- '*'
exclude:
- develop
- main
variables:
- name: solution
value: '**/*.sln'
- name: BuildConfiguration
value: 'Release'
- name: MSBuildSDKsPath
value: C:\agent\_work\_tool\dotnet\sdk\7.0.102\Sdks
jobs:
- job: Build
pool:
vmImage: 'windows-latest'
name: 'Modern'
workspace:
clean: all
steps:
- script: set
displayName: show all env vars
- checkout: self
persistCredentials: true
- task: UseDotNet@2
displayName: 'Use .NET 7.x'
inputs:
packageType: 'sdk'
version: 7.x
performMultiLevelLookup: true
includePreviewVersions: false
installationPath: $(Agent.ToolsDirectory)/dotnet
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.