|
2 | 2 | title: .NET SDK and .NET CLI telemetry |
3 | 3 | description: The .NET SDK and the .NET CLI collect usage information and send it to Microsoft. Learn what data is collected and how to opt out. |
4 | 4 | author: KathleenDollard |
5 | | -ms.date: 02/24/2022 |
| 5 | +ms.date: 10/07/2025 |
6 | 6 | --- |
7 | 7 | # .NET SDK and .NET CLI telemetry |
8 | 8 |
|
@@ -106,6 +106,16 @@ The telemetry feature collects the following data: |
106 | 106 | | >=8.0.100 | Whether library mode for mobile is used. | |
107 | 107 | | >=8.0.100 | Whether NativeAOT is used. | |
108 | 108 | | >=8.0.100 | Used Mono runtime pack version. | |
| 109 | +| >=10.0.100 | Hashed project identifier for `dotnet run` (file-based or project-based app). | |
| 110 | +| >=10.0.100 | Application type for `dotnet run` (file-based or project-based). | |
| 111 | +| >=10.0.100 | Number of SDKs used for `dotnet run`. | |
| 112 | +| >=10.0.100 | Number of PackageReferences for `dotnet run`. | |
| 113 | +| >=10.0.100 | Number of ProjectReferences for `dotnet run`. | |
| 114 | +| >=10.0.100 | Launch profile usage for `dotnet run` (none, explicit, default, or not used). | |
| 115 | +| >=10.0.100 | Whether launch profile is default for `dotnet run`. | |
| 116 | +| >=10.0.100 | Number of additional properties for file-based apps with `dotnet run`. | |
| 117 | +| >=10.0.100 | Whether MSBuild was used for file-based apps with `dotnet run`. | |
| 118 | +| >=10.0.100 | Whether Roslyn compiler was used for file-based apps with `dotnet run`. | |
109 | 119 |
|
110 | 120 | ### Collected options |
111 | 121 |
|
@@ -147,6 +157,28 @@ The `dotnet new` template instantiation command collects additional data for Mic |
147 | 157 | * `--framework` |
148 | 158 | * `--auth` |
149 | 159 |
|
| 160 | +### dotnet run telemetry |
| 161 | + |
| 162 | +The `dotnet run` command collects feature-based telemetry to help drive development and usage of file-based apps, starting with .NET SDK 10.0.100: |
| 163 | + |
| 164 | +**Common telemetry for all `dotnet run` executions:** |
| 165 | + |
| 166 | +* Application type (file-based or project-based) |
| 167 | +* Hashed project or file identifier |
| 168 | +* Number of SDKs used |
| 169 | +* Number of PackageReferences |
| 170 | +* Number of ProjectReferences |
| 171 | +* Launch profile usage (whether `--launch-profile` or `--no-launch-profile` was used) |
| 172 | +* Whether the launch profile is a default profile |
| 173 | + |
| 174 | +**Additional telemetry for file-based apps only:** |
| 175 | + |
| 176 | +* Number of additional properties (for example, `#:property` directives) |
| 177 | +* Whether MSBuild was used for building |
| 178 | +* Whether the Roslyn compiler was used directly |
| 179 | + |
| 180 | +All identifiers are hashed using SHA256. For file-based apps, the entry point file path is hashed. For project-based apps, the project file path (or relative path from repository root when available) is hashed. |
| 181 | + |
150 | 182 | ## Crash exception telemetry |
151 | 183 |
|
152 | 184 | If the .NET CLI/SDK crashes, it collects the name of the exception and stack trace of the CLI/SDK code. This information is collected to assess problems and improve the quality of the .NET SDK and CLI. This article provides information about the data we collect. It also provides tips on how users building their own version of the .NET SDK can avoid inadvertent disclosure of personal or sensitive information. |
|
0 commit comments