.NET CLI Telemetry Data
The .NET SDK includes a telemetry feature that collects usage and failure data about the .NET CLI. The CLI is the set of verbs that enable you to build, test, and publish your apps. Telemetry is not collected from .NET applications. For more information, see the .NET SDK telemetry article.
This report summarizes the total usage collected on December 4, 2024 for the previous 90 days.
Challenges with the data
There are significant challenges in understanding .NET CLI usage data. The biggest one is that we don't know how many developers directly use the .NET SDK, even though we have a total count of hashed MAC addresses (shared in the following section). We believe that a significant portion of the usage data is generated by regularly running build and continuous integration machines, as opposed to people. We also believe that some environments frequently change MAC addresses (and therefore the hash we receive) while others re-use a small set (like Docker). This means it is really hard to reason about MAC addresses, since there is both artificial expansion and compression of these addresses at play.
Total MAC address count
The total count of unique Mac address hashes is: 53,849,772.
Operating System
The breakdown of unique Mac address hashes by operating system:
OS | Percent |
---|---|
Linux | 75% |
Windows | 24% |
macOS | 1% |
The breakdown in Windows across versions:
RID | Percent |
---|---|
win-x64 | 72.5% |
win10-x64 | 22.2% |
win-x86 | 4.3% |
win10-x86 | 0.7% |
Other | 0.4% |
The breakdown for macOS across versions:
OS Version | Percent |
---|---|
osx-arm64 | 43.9% |
osx-x64 | 20.6% |
osx.14-arm64 | 10.6% |
osx.15-arm64 | 6.5% |
osx.14-x64 | 3.4% |
osx.12-x64 | 2.5% |
osx.13-x64 | 2.2% |
osx.10.19-x64 | 1.7% |
osx.13-arm64 | 1.6% |
osx.11.3-x64 | 1.6% |
Other | 5.5% |
The breakdown in Linux across distributions and versions:
Distribution and version | Percent |
---|---|
linux-x64 | 85.2% |
ubuntu.22.04-x64 | 9.8% |
ubuntu.20.04-x64 | 2.7% |
ubuntu.18.04-x64 | 0.6% |
linux-musl-x64 | 0.5% |
Other | 1.3% |
SDK version number
The following table shows the breakdown by SDK version number:
SDK version | Percent |
---|---|
8.0.403 | 24.1% |
8.0.401 | 17.5% |
8.0.404 | 14.1% |
8.0.402 | 8.9% |
8.0.400 | 4.2% |
6.0.427 | 2.9% |
6.0.425 | 2.8% |
8.0.100 | 2.6% |
9.0.100 | 2.0% |
7.0.410 | 1.8% |
6.0.428 | 1.7% |
8.0.303 | 1.6% |
8.0.304 | 1.1% |
3.1.426 | 1.0% |
8.0.302 | 0.9% |
8.0.300 | 0.8% |
8.0.301 | 0.7% |
5.0.408 | 0.7% |
8.0.101 | 0.7% |
8.0.204 | 0.6% |
Other | 9.4% |
CLI verbs
The following table shows the breakdown by CLI verbs:
Verb | Percent |
---|---|
restore | 19.41% |
build | 18.51% |
test | 14.06% |
nuget | 8.79% |
tool | 8.35% |
publish | 7.56% |
run | 2.96% |
new | 2.86% |
msbuild | 2.45% |
add | 1.89% |
pack | 1.32% |
clean | 1.08% |
vstest | 1.06% |
list | 1.00% |
ef | 0.82% |
format | 0.74% |
workload | 0.57% |
sln | 0.41% |
user-secrets | 0.17% |
watch | 0.07% |
help | 0.07% |
remove | 0.05% |
sdk | 0.03% |
fsi | 0.03% |
package | 0.03% |
script | 0.02% |
version | 0.02% |
install | 0.01% |
aspnet-codegenerator | 0.01% |
Other | 5.64% |
Country/region
The following table shows the breakdown by country/region:
ISO | Country/region | Percent |
---|---|---|
US | United States | 72.2% |
IE | Ireland | 8.4% |
DE | Germany | 6.1% |
GB | United Kingdom | 4.8% |
NL | Netherlands | 1.0% |
FR | France | 0.7% |
CA | Canada | 0.6% |
IN | India | 0.6% |
AU | Australia | 0.4% |
JP | Japan | 0.4% |
CN | China | 0.4% |
- | N/A | 0.4% |
BE | Belgium | 0.3% |
BR | Brazil | 0.3% |
RU | Russia | 0.3% |
IL | Israel | 0.2% |
VN | Vietnam | 0.2% |
PL | Poland | 0.1% |
SG | Singapore | 0.1% |
SE | Sweden | 0.1% |
TR | Türkiye | 0.1% |
IT | Italy | 0.1% |
MX | Mexico | 0.1% |
ES | Spain | 0.1% |
RO | Romania | 0.1% |
KR | Korea | 0.1% |
ID | Indonesia | 0.1% |
CZ | Czechia | 0.1% |
DK | Denmark | 0.1% |
UA | Ukraine | 0.1% |
AR | Argentina | 0.1% |
NO | Norway | 0.1% |
TW | Taiwan | 0.1% |
AT | Austria | 0.1% |
CH | Switzerland | 0.1% |
- | Other | 1.2% |
Target framework
The following table shows the target framework passed as a parameter to CLI commands, such as dotnet new
:
Target framework value | Percent |
---|---|
net8.0 | 42.63% |
net6.0 | 25.17% |
net8.0-android | 2.96% |
net7.0 | 2.95% |
net472 | 2.36% |
netcoreapp3.1 | 1.94% |
netstandard2.0 | 1.78% |
net8.0-ios | 1.61% |
net8.0-windows | 1.27% |
net8.0-windows10.0.19041.0 | 1.24% |
net462 | 1.04% |
net48 | 0.88% |
net8.0-maccatalyst | 0.71% |
net5.0 | 0.64% |
net6.0-windows | 0.63% |
net8.0-windows10.0.17763.0 | 0.27% |
net7.0-android | 0.26% |
netstandard2.1 | 0.25% |
net8.0-windows10.0.22621.0 | 0.24% |
net7.0-ios | 0.22% |
netcoreapp2.1 | 0.19% |
net7.0-windows10.0.19041.0 | 0.15% |
net452 | 0.13% |
netcoreapp2.0 | 0.13% |
net7.0-windows | 0.12% |
net7.0-maccatalyst | 0.11% |
net6.0-windows10.0.17763.0 | 0.11% |
net461 | 0.10% |
Other | 9.92% |