# 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 (see[installing](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/scanners/dotnet/installing "mention")) 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-community-build/analyzing-source-code/ci-integration "mention"), 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-community-build/devops-platform-integration/github-integration/adding-analysis-to-github-actions-workflow#configure-build-yml "mention") article in the [github-integration](https://docs.sonarsource.com/sonarqube-community-build/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-community-build/analyzing-source-code/scanners/sonarqube-extension-for-azure-devops "mention") for SonarQube Server, and the [azure-devops-integration](https://docs.sonarsource.com/sonarqube-community-build/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, Cloud) and SonarQube Community Build, analyzing a .NET application is a little different than when using[sonarscanner-for-maven](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/scanners/sonarscanner-for-maven "mention") or [sonarscanner-for-gradle](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/scanners/sonarscanner-for-gradle "mention"). 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, Cloud) and SonarQube Community Build 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, Cloud) or SonarQube Community Build to check, you can focus the analysis as part of your build process by setting up [dotnet-test-coverage](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/test-coverage/dotnet-test-coverage "mention") 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-community-build/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-community-build/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-community-build/analyzing-source-code/scanners/sonarqube-extension-for-azure-devops "mention")
* [dotnet-test-coverage](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/test-coverage/dotnet-test-coverage "mention")
* [specify-test-project-analysis](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/dotnet-environments/specify-test-project-analysis "mention")
* The [vb-dotnet](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/languages/vb-dotnet "mention") and [csharp](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/languages/csharp "mention") language pages
* [troubleshooting](https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/dotnet-environments/troubleshooting "mention")
