You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps管道中MSBuild@1在ubuntu-latest无法找到.NET Core 7

问题原因

你在ubuntu-latest镜像上遇到的构建错误,核心原因是:Linux环境下的MSBuild@1任务默认调用的是Mono提供的MSBuild工具,而Mono的MSBuild并不支持识别.NET 7(.NET Core 5及以后版本)的引用程序集。Windows镜像能成功构建,是因为Windows平台的MSBuild和Visual Studio/.NET SDK深度集成,可以正确找到.NET 7的相关依赖文件。

解决方案

直接将MSBuild@1任务替换为DotNetCoreCLI@2的build命令即可——你已经通过UseDotNet@2安装了.NET 7 SDK,DotNetCoreCLI会自动使用该SDK完成项目构建。

修改后的管道片段如下:

pool:
  vmImage: ubuntu-latest
  # vvmImage: windows-latest
  # vmImage: windows-2022
  # Old App building on windows ltssc 2019
  #vmImage: windows-2019

stages:
  - stage:
    displayName: 'Build'
    jobs:
      - job: 'Build'
        displayName: 'Build the solution'

        steps:
          - task: UseDotNet@2
            displayName: 'Use .NET Core sdk'
            inputs:
              packageType: 'sdk'
              version: 7.0.x
              includePreviewVersions: true

          - task: DotNetCoreCLI@2
            inputs:
              command: 'restore'
              projects: '**/*.csproj'

          - task: DotNetCoreCLI@2
            inputs:
              command: 'build'
              projects: '**/*.sln'
              arguments: '--configuration Release' # 可选,按需指定构建配置

如果你的项目需要传递特定的MSBuild参数,也可以通过DotNetCoreCLI的arguments字段添加,比如指定输出目录、定义编译常量等。

内容的提问来源于stack exchange,提问作者amber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 10:20:43