当在 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)"'
测试结果:
关于c# - 在 azure-pipelines.yml 中为 dotnetpublish 命令转义空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66960429/