azure-devops - dotnet 构建失败,因为找不到项目
问题描述
我有一个 YAML 文件,其中包含将文件复制和发布到工件并下载工件的任务:
任务 DownloadPipelineArtifact@2 的日志:
Downloading: D:\a\1\s\Service\ProjectName\Repositories.Logging/Repositories.Logging.csproj
然后,我有一个任务要构建。构建在此任务上失败。
任务 DotNetCoreCLI@2 的日志:
Skipping project "D:\a\1\s\Service\ProjectName\Repositories.Logging\Repositories.Logging.csproj" because it was not found.
为什么它说跳过项目,因为即使 DownloadPipelineArtifact@2 的日志显示相同的路径也找不到它?我错过了什么,我该如何解决?
更新:
我知道斜线有区别。但是,我无法控制更新斜杠:
复制、发布、下载的任务:
- task: CopyFiles@2
displayName: 'copy service'
inputs:
SourceFolder: 'Service\ProjectName'
contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'publish artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: '$(Build.BuildNumber)'
- task: DownloadPipelineArtifact@2
inputs:
artifactName: '$(Build.BuildNumber)'
downloadPath: Service\ProjectName
将下载任务更新为:
- task: DownloadBuildArtifacts@0
inputs:
artifactName: '$(Build.BuildNumber)'
downloadPath: $(System.DefaultWorkingDirectory)\Service\ProjectName
我从 DownloadBuildArtifacts@0 看到以下日志:
Downloaded to D:\a\1\s\Service\ProjectName\20201118.10\Repositories.Logging\Repositories.Logging.csproj
以及来自 DotNetCoreCLI@2 的以下日志:
D:\a\1\s\Service\ProjectName\Repositories.Logging\Repositories.Logging.csproj because it was not found
在这种情况下,我正确地看到了斜线。是否可以删除:
20201118.10
从 downloadPath 使其变为:
D:\a\1\s\Service\ProjectName\Repositories.Logging\Repositories.Logging.csproj
解决方案
是否可以
20201118.10
从downloadPath
.
20201118.10
使用任务时,我们无法删除工件名称Download build artifacts
。
当我们Download build artifacts
在经典模式下检查任务时,我们可以知道该选项Artifact name
是必需的:
为了解决这个问题,我们可以添加一个复制任务来复制文件到$(System.DefaultWorkingDirectory)\Service\ProjectName
文件夹
- task: CopyFiles@2
displayName: 'Move artifact Name'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\Service\ProjectName\$(Build.BuildNumber)'
TargetFolder: '$(System.DefaultWorkingDirectory)\Service\ProjectName'
20201118.10
或者,您可以在构建项目时指定包含工件名称的路径:
- task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
projects: '$(System.DefaultWorkingDirectory)\Service\ProjectName\$(Build.BuildNumber)\Repositories.Logging\Repositories.Logging.csproj'
推荐阅读
- python - TypeError:只有长度为 1 的数组可以转换为 Python 标量 - 复数
- authentication - Asp.Net Web Api 2 的 NSwag 在 swagger gui 中显示安全性
- ios - 滚动视图不能同时缩放和水平滚动?
- elasticsearch - 如何使用弹性 java api 查询计算字段
- javascript - React reducer 可以工作,但是一旦浏览网页就会变得未定义
- identityserver4 - 令牌生命周期
- virtualbox - Virtualbox 来宾可以使用图形加速吗?
- django - 如何使用 Django 过滤器处理大数据?
- java - 是否可以在 Spring 中配置基于 ConcurrentMap 的缓存?
- regex - DB2 10 for z/OS 其中 LIKE 将列与通配符 '_' 进行比较