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

Azure Pipelines中DotNetCoreCLI找不到文件的问题求助

Azure Pipelines中DotNetCoreCLI找不到文件的排查与解决

问题详情

我正跟着YouTube教程开发第一个项目,教程使用Visual Studio,我用VS Code。目前在Azure Pipelines中遇到DotNetCoreCLI找不到文件的错误,尝试过MS Build、输入URL等方法均无法解决。

我的Pipeline配置代码如下:

trigger:
- master

pool: MyComputerAgent

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'
  
- task: UseDotNet@2
  inputs:
    packageType: 'sdk'
    version: '7.0.400'  # Specify the .NET 7 SDK version

- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    command: build
    projects: '**/*.csproj'
    arguments: '--configuration $(buildConfiguration)' 

仓库结构:
仓库结构

排查与解决方向

  • 精确指定项目路径:**/*.csproj 是全局递归查找,但如果项目有特定目录结构,比如截图中项目在子文件夹,可尝试更精准的路径,例如 src/**/*.csproj 或直接写具体项目路径 [项目文件夹]/[项目名].csproj,避免匹配到无关的csproj文件或漏找目标文件。
  • 调整任务执行顺序:当前先执行NuGet还原再安装.NET SDK,可能导致还原时依赖的SDK版本未就绪。将 UseDotNet@2 任务移到最顶部,确保SDK先安装完成,再进行NuGet还原和构建操作。
  • 验证代理机器的代码结构:你的构建代理是MyComputerAgent,需确认代理机器拉取代码后的文件结构与仓库完全一致,检查是否存在文件缺失、路径大小写不匹配(非Windows代理需注意)等问题。
  • 改用解决方案文件构建:既然已定义solution变量,可直接基于sln文件构建,修改DotNetCoreCLI任务的projects参数为$(solution),示例:
    - task: DotNetCoreCLI@2
      displayName: Build
      inputs:
        command: build
        projects: '$(solution)'
        arguments: '--configuration $(buildConfiguration)' 
    
  • 合并还原与构建步骤:移除单独的NuGetCommand任务,在DotNetCoreCLI的build命令中添加--restore参数,一次性完成还原和构建,避免步骤间的依赖问题:
    - task: DotNetCoreCLI@2
      displayName: Restore and Build
      inputs:
        command: build
        projects: '**/*.csproj'
        arguments: '--configuration $(buildConfiguration) --restore'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:43:13