Forum Discussion
blashmet
Jun 29, 2022Copper Contributor
Suppress Warnings VSBuild@1 MSBuildArgs
Hi, I have several VSBuild@1 tasks in azure_pipelines.yml. The C++\C# projects generate many warnings (3k+) at build time: From the documentation https://docs.microsoft.com/en-us...
blashmet
Jun 30, 2022Copper Contributor
Temporary solution:
- name: msbuildArgs
type: string
default: "-maxCpuCount
-consoleloggerparameters:ErrorsOnly
-property:WarningLevel=0
-property:RunCodeAnalysis=false
-noWarn:C4244,C4267,C4311,C4302,C4477,C4838,MSB3245,MSB3277,MSB3270,MSB3042,C4996,C4101,C4312,C4474,LNK4099,C4715,LNK4017,C4091,C4334,C4700,C4192,C4129,C4805"Then pass msbuildArgs to the steps:
- ${{ each project in parameters.CPlusPlusProjects }}:
- task: VSBuild@1
displayName: "Building ${{ project }}"
inputs:
solution: ${{ project }}
platform: ${{ parameters.buildPlatform }}
configuration: ${{ parameters.buildConfiguration }}
vsVersion: ${{ parameters.CPlusPlusVsVersion }}
msbuildArgs: ${{ parameters.msbuildArgs }}
logFileVerbosity: quiet
Note, multi-line object doesn't work for the msbuildargs parameter, each separate parameter can exist on it's own line, but each error code cannot. For example, the below will not work:
- name: msbuildArgs
type: string
default: "-maxCpuCount
-consoleloggerparameters:ErrorsOnly
-property:WarningLevel=0
-property:RunCodeAnalysis=false
-noWarn:C4244,
C4267,
C4311,
C4302,
C4477,
C4838,
etc...