在 azure-pipelines.yml 中为 dotnetpublish 命令转义空格

sve*_*gen 1 c# msbuild azure azure-pipelines

当在 Azure Pipelines 中执行命令时,我收到错误消息:“ MSBUILD : error MSB1008: Only one project can be specified ”,dotnet publish大概是因为我的存储库名称中包含空格,但我无权更改存储库名称。

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'
Run Code Online (Sandbox Code Playgroud)

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

  • 将空格替换为 %20。
  • 在开头和结尾处使用“\”封装文件路径。

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

Leo*_*SFT 5

在 azure-pipelines.yml 中为 dotnetpublish 命令转义空格

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

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

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

测试结果:

在此输入图像描述