spo*_*ahn 6 yaml azure-pipelines
我可以在 Azure Pipelines 中使用多行 YAML 字符串吗?
使用 ASP.NET Core (.NET Framework) 模板,我尝试了多线化,msbuildArgs但没有奏效。
- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: >
       '/p:DeployOnBuild=true /p:WebPublishMethod=Package'
       '/p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true'
       '/p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip"'
       '/p:DeployIisAppPath="Default Web Site"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
Run Code Online (Sandbox Code Playgroud)
MSBUILD:错误 MSB1008:只能指定一个项目。
开关:'/p:DeployOnBuild=true
查看字符串参考文档,我没有看到有关此主题的任何内容。
Lei*_*eif 17
我总是像这样使用YAML 块 chomping 运算符
msbuildArgs: >-
  /p:DeployOnBuild=true
  /p:WebPublishMethod=Package
  /p:PackageAsSingleFile=true
  /p:SkipInvalidConfigurations=true
  /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\WebApp.zip"
  /p:DeployIisAppPath="Default Web Site"
Run Code Online (Sandbox Code Playgroud)
效果很好,使事情变得清晰整洁
您可以只输入'以下内容的开头和结尾msbuildArgs:
- task: VSBuild@1
  displayName: 'Build solution **\*.sln'
  inputs:
    vsVersion: latest
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package 
    /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true'
Run Code Online (Sandbox Code Playgroud)
        \n\n\nAzure Pipelines 中的多行字符串
\n
Shayki Abramczyk 指出了这个错误的关键。
\n\n\n\n\n只需在 msbuildArgs 的开头和结尾添加一个\n,无需为每个 MSBuild 参数进行配置
\n\'
作为测试,以下 YAML 对我有用:
\n\n- task: VSBuild@1\n  displayName: \'Build solution YourSolution\'\n  inputs:\n    solution: $(solution)\n    msbuildArgs: \'/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\\WebApp.zip" /p:DeployIisAppPath="Default Web Site"\'\n    platform: \'$(buildPlatform)\'\n    configuration: \'$(buildConfiguration)\'\nRun Code Online (Sandbox Code Playgroud)\n\n注意:该变量$(solution)应指向特定的解决方案.sln或项目.csproj文件,而不是**\\*.sln. 如果您的存储库中还有一种解决方案,您可能会收到错误Only one project can be specified。
更新:
\n\n\n\n\n但我不\xe2\x80\x99t 想要超长的运行线,如您提供的答案中所示。我想分成多行!
\n
如果您不想像 MSBuild 参数中那样超长运行行,您可以直接拆分它们,但要注意缩进,例如:
\n\n- task: VSBuild@1\n  displayName: \'Build solution YourSolution\'\n  inputs:\n    solution: $(solution)\n    msbuildArgs: \'/p:DeployOnBuild=true\n                  /p:WebPublishMethod=Package \n                  /p:PackageAsSingleFile=true \n                  /p:SkipInvalidConfigurations=true \n                  /p:DesktopBuildPackageLocation="$(build.artifactStagingDirectory)\\WebApp.zip" \n                  /p:DeployIisAppPath="Default Web Site"\'\n    platform: \'$(buildPlatform)\'\n    configuration: \'$(buildConfiguration)\'\nRun Code Online (Sandbox Code Playgroud)\n\n作为测试,它工作正常。
\n\n希望这可以帮助。
\n|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           6172 次  |  
        
|   最近记录:  |