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 次 |
| 最近记录: |