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

标签 c# azure msbuild azure-pipelines

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

azure-pipelines.yml 中包含 dotnetpublish 命令的部分:

- 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'

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

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

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

最佳答案

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)"'

测试结果:

enter image description here

关于c# - 在 azure-pipelines.yml 中为 dotnetpublish 命令转义空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66960429/

相关文章:

msbuild - 在msbuild中过滤项目的元数据

powershell - MSBuild执行Powershell脚本文件的相对/绝对路径

多个任务的 MSBuild 任务批处理

c# - SQL 让我头疼 - 多个连接

c# - 为什么 Browsable 属性使属性不可绑定(bind)?

c# - 使用 MongoDB C# 驱动程序从父子层次结构中查找和更新节点

Azure ADB2C 公司品牌形象无法在用户流中选择

azure - vmWare 与 Azure

sql - 错误代码: DelimitedTextMoreColumnsThanDefined Azure Data Factory

c# - 如何创建 FIX partyID 组?