18Mar
Code Analysis & Code Metrics Integration in Azure Pipelines
This documentation shows the tutorial on how to integrate Visual Studio Code Analysis and Code Metrics in Azure Pipelines using YAML. Follow the steps:
- Open Visual Studio 2019 and open project or solution and select your project.

- Now you have to add a NuGet package named “Microsoft.CodeAnalysis.Metrics” to your solution. For this right click on the solution in Solution Explorer and click on Manage NuGet Packages for Solution.

3. Browse for Microsoft.CodeAnalysis.Metrics in the search bar. Click on the package. Select all your projects in the solution and click on Install.
4. In the next 2 windows click on OK then Accept. Wait until the package gets added to all your projects.
5. Now save all your changes. Then in team explorer commit your changes with a commit message.

6. Sync the changes with the server in Azure Repos.

7. Navigate to your project in Azure DevOps and go to Build section of Pipelines.
8. Click on New Pipeline to setup a pipeline in YAML. If you have a n existing YAML pipeline you can add the stage to it.
9. Click on Azure Repos Git and then select your repository.

10. Click on Starter Pipeline for a new pipeline.

11. Add the following stage to your existing pipeline for Code Analysis and Code Metrics .
- stage: CodeScan
dependsOn: []
jobs:
- job: CodeScan
pool:
vmImage: 'vs2017-win2016'
steps:
- task: NuGetCommand@2
displayName: NuGetRestore
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
displayName: CodeAnalysis
inputs:
solution: '$(solution)'
msbuildArgs: '/p:RunCodeAnalysis=true'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSBuild@1
displayName: CodeMetrics
inputs:
solution: '$(solution)'
msbuildArgs: '/t:Metrics /p:MetricsOutputFile=$(Build.ArtifactStagingDirectory)/PartsUnlimitted.Metrics.xml' # Modify xml file name according to project
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Metrics'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'MetricsReport'
publishLocation: 'Container'
Note: Add solution, buildPlatform and buildConfiguration in the variables section of the pipeline.
variables:
solution: '**/*.sln' # Provide path of .sln file here
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
12. Add other stages and dependencies for build, deploy or any other functionality according to the needs of the project. If you only want the pipeline for Code Metrics and Code Analysis, you can go for the single stage complete script provided below. Remove everything in your Starter Pipeline and add the following script.
trigger:
- master
variables:
solution: '**/*.sln' # Provide path of .sln file here
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
pool:
vmImage: 'vs2017-win2016'
steps:
- task: NuGetCommand@2
displayName: NuGetRestore
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
displayName: CodeAnalysis
inputs:
solution: '$(solution)'
msbuildArgs: '/p:RunCodeAnalysis=true'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSBuild@1
displayName: CodeMetrics
inputs:
solution: '$(solution)'
msbuildArgs: '/t:Metrics /p:MetricsOutputFile=$(Build.ArtifactStagingDirectory)/PartsUnlimitted.Metrics.xml'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Metrics'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'MetricsReport'
publishLocation: 'Container'
13. Click on Save and run to run the pipeline.

14. Enter a commit message and click Save and run.
15. View the live logs of the pipeline to see Code Analysis. You can also download the logs if required.

16. The Code Metrics report will be published as an XML file inside the Artifact generated after the pipeline. For this navigate to the Runs tab of your pipeline, click on any Run you want.

17. You can find the report by clicking Artifacts button.

18. Download the XML file to view the Code Metrics report.

19. Congrats!!!!! You are Done.
Related
Please watch the LIVE RECORDING Video of the webinar session below which took place on 4th...
Read More >
Our dedicated and skilled resources ensure that routine maintenance and enhancements to your existin...
Read More >
Introduction:Many new developer features were introduced in SQL Server 2008 database. This tutorial ...
Read More >
Microsoft Dynamics CRM, is one of the prominent offerings from the Microsoft Dynamics family of ERP ...
Read More >
Sonar Integration with TFS build for .net projectsThis document provides details about TFS and...
Read More >
Instructions for setting up VS2010 Hands-on labs:Minimum Hardware requirements: Processor : &n...
Read More >
Creating apps for different operating system is not a reliability so for reducing developr work for ...
Read More >
Reports play a fundamental role when it comes to TESTING. Tester can now know the real-time r...
Read More >
In this blog we will list down the basic differences between Azure DevOps Sever earlier called as Te...
Read More >
In this blog we will see the VMSS update by using an image with Rolling upgrade policy.Prerequisites...
Read More >
Share