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'
我尝试了以下方法来转义存储库名称中的空格,但没有成功:
- 用 %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)"'
测试结果:
我收到错误消息:“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'
我尝试了以下方法来转义存储库名称中的空格,但没有成功:
- 用 %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)"'
测试结果: