dotnet publish 命令在 azure-pipelines.yml 中转义空格

Escape spaces in azure-pipelines.yml for the dotnet publish command

我收到错误消息:“MSBUILD:错误 MSB1008:只能指定一个项目”当 dotnet publish 命令在 Azure Pipelines 中执行时,大概是因为我的存储库名称中有空格,但我没有更改存储库名称的权限。

azure-pipelines.yml 与 dotnet publish 命令的部分:

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: publish
    publishWebProjects: false
    projects: '**/My App Backend/*.csproj'
    arguments: '--configuration $(buildConfiguration) --output $(Build.
    ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  displayName: 'publish artifacts'

我尝试了以下方法来转义存储库名称中的空格,但没有成功:

还有其他方法可以逃避我所缺少的空间吗?

Escape spaces in azure-pipelines.yml for the dotnet publish command

如果我创建一个名称中包含转义空格的项目,我可以在我这边重现这个问题。

要解决此问题,请尝试对参数使用双引号 --output "$(Build.ArtifactStagingDirectory)":

- task: DotNetCoreCLI@2
  displayName: Publish
  inputs:
    command: publish
    publishWebProjects: false
    projects: '**/My App Backend/*.csproj'
    arguments: '--configuration $(BuildConfiguration) --output "$(build.artifactstagingdirectory)"'

测试结果: