# Overview

The .NET SDK is a framework for C# and Visual Basic (VB.NET) programming languages to run on. The .NET APIs have undergone [an evolution](https://en.wikipedia.org/wiki/.NET#.NET_Core) beginning as the .NET Framework (versions 1 - 4.62) and .NET Core (versions 1-3.1), before eventually being released simply as .NET (beginning as version 5).

To run a .NET analysis with Sonar, you must download and install the SonarScanner for .NET; [the installation process](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/dotnet/installing) will be different as determined by your .NET environment.

After installing the prerequisites, you must download and install the correct SonarScanner. Then, depending on your [CI integration](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/ci-integration/overview), different steps must be taken to make the SonarScanner work properly. For example, if you intend to run your analysis with GitHub Actions, you’ll need to configure your GitHub workflow build.yml. See the [#configure-build-yml](https://docs.sonarsource.com/sonarqube-server/devops-platform-integration/github-integration/adding-analysis-to-github-actions-workflow#configure-build-yml "mention") article inside of the [github-integration](https://docs.sonarsource.com/sonarqube-server/devops-platform-integration/github-integration "mention") pages.

If your build environment is on Azure DevOps, our [Marketplace extension](https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube), the [sonarqube-extension-for-azure-devops](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/sonarqube-extension-for-azure-devops "mention") for SonarQube Server, and the [azure-devops-integration](https://docs.sonarsource.com/sonarqube-server/devops-platform-integration/azure-devops-integration "mention") pages will be an invaluable resource.

## The SonarScanner <a href="#the-sonarscanner" id="the-sonarscanner"></a>

Even if you’re already familiar with SonarQube Server and SonarQube Cloud, analyzing a .NET application is a little different than when using the SonarScanners for [Maven](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/sonarscanner-for-maven) or [Gradle](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/sonarscanner-for-gradle). Whereas the SonarScanner normally scans existing code or projects that are *already built*, the SonarScanner for .NET analyzes the code [*while the build is in process*](https://learn.microsoft.com/en-us/visualstudio/code-quality/roslyn-analyzers-overview?view=vs-2022).

Once the build is complete and your code is analyzed, results are gathered by the SonarScanner running on your CI and sent to SonarQube Server (or SonarQube Cloud) for review. The analysis processes are integrated with the build and it is expected that your build time will increase by a factor of three or four times; this is normal because it takes extra time to run the analysis *during the build process*.

After you’ve run your first analyses and sent the results to SonarQube Server (or SonarQube Cloud) to check, you can focus the analysis as part of your build process by setting up [.NET test coverage](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/dotnet-environments/dotnet-test-coverage) using a third-party tool to access important metrics.

## Taking your first steps <a href="#first-steps" id="first-steps"></a>

Take a look at the [getting-started-with-net](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/dotnet-environments/getting-started-with-net "mention") page to learn about configuring your pipeline, running code coverage, and generating reports. Then use the [dotnet](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/dotnet "mention") pages to reference the technical details about using the scanner.

## Related pages <a href="#related-pages" id="related-pages"></a>

* [sonarqube-extension-for-azure-devops](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/scanners/sonarqube-extension-for-azure-devops "mention")
* [dotnet-test-coverage](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/test-coverage/dotnet-test-coverage "mention")
* [specify-test-project-analysis](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/dotnet-environments/specify-test-project-analysis "mention")
* The [vb-dotnet](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/languages/vb-dotnet "mention") and [csharp](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/languages/csharp "mention") language pages
* [troubleshooting](https://docs.sonarsource.com/sonarqube-server/analyzing-source-code/dotnet-environments/troubleshooting "mention")
