.NET SDK ず .NET CLI テレメトリ

.NET SDK には、䜿甚状況デヌタを収集し、.NET CLI コマンドを䜿甚するずきに Microsoft に送信 テレメトリ機胜が含たれおいたす。 䜿甚状況デヌタには、.NET CLI がクラッシュしたずきに䟋倖情報が含たれたす。 .NET CLI には .NET SDK が付属しおおり、.NET アプリのビルド、テスト、発行を可胜にする動詞のセットです。 テレメトリ デヌタは、ツヌルの䜿甚方法を .NET チヌムが理解し、改善するのに圹立ちたす。 倱敗に関する情報は、チヌムが問題を解決し、バグを修正するのに圹立ちたす。

収集されたデヌタは、Creative Commons Attribution Licenseの䞋で集蚈しお公開されたす。 収集されたデヌタの䞀郚は、.NET CLI テレメトリ デヌタで公開されたす。

Scope

dotnet には、アプリの実行ず CLI コマンドの実行ずいう 2 ぀の機胜がありたす。 を䜿甚しお次の圢匏でアプリケヌションを起動する堎合、テレメトリ dotnet 収集されたせん。

  • dotnet [path-to-app].dll

テレメトリ は、次のような .NET CLI コマンドを䜿甚する堎合に 収集されたす。

  • dotnet build
  • dotnet pack
  • dotnet run

オプトアりトする方法

.NET SDK テレメトリ機胜は、SDK の Microsoft ディストリビュヌションに察しお既定で有効になっおいたす。 テレメトリ機胜をオプトアりトするには、DOTNET_CLI_TELEMETRY_OPTOUT 環境倉数を 1 たたは trueに蚭定したす。

むンストヌルが成功するず、.NET SDK むンストヌラヌから 1 ぀のテレメトリ ゚ントリが送信されたす。 オプトアりトするには、.NET SDK をむンストヌルする前に、DOTNET_CLI_TELEMETRY_OPTOUT 環境倉数を蚭定したす。

重芁

むンストヌラヌの起動埌にオプトアりトするには、むンストヌラヌを閉じ、環境倉数を蚭定しおから、その倀を蚭定しおむンストヌラヌをもう䞀床実行したす。

開瀺

.NET SDK では、.NET CLI コマンド の 1 ぀ (たずえば、 dotnet build) を最初に実行するず、次のようなテキストが衚瀺されたす。 テキストは、実行しおいる SDK のバヌゞョンによっお若干異なる堎合がありたす。 この "最初の実行" ゚クスペリ゚ンスは、Microsoft がデヌタ収集に぀いお通知する方法です。

Telemetry
---------
The .NET tools collect usage data in order to help us improve your experience. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.

Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry

このメッセヌゞず .NET りェルカム メッセヌゞを無効にするには、DOTNET_NOLOGO 環境倉数を trueに蚭定したす。 この倉数は、テレメトリのオプトアりトには圱響したせん。

泚

砎壊的倉曎:stderrに曞き蟌たれたテレメトリ メッセヌゞの動䜜は、最近のバヌゞョンの .NET SDK で倉曎されたした。 詳现に぀いおは、dotnet CLI コマンドはコマンドに関連しないデヌタを stderr に蚘録するこずを確認しおください。

デヌタ ポむント

Microsoft 埓業員の䜿甚分類を陀き、テレメトリではナヌザヌ名や電子メヌル アドレスなどの個人デヌタを収集したせん。 継続的むンテグレヌション パむプラむン (CI) 以倖でのポゞティブ分類の堎合、テレメトリは、正芏化されたロヌカル Microsoft 埓業員アカりント ゚むリアスず䌁業ドメむンを報告できたす。 完党なメヌル アドレスは衚瀺したせん。 コヌドはスキャンせず、名前、リポゞトリ、䜜成者などのプロゞェクト レベルのデヌタは抜出されたせん。 アプリがアクセスたたは䜜成したデヌタ ファむルの内容、アプリのオブゞェクトによっお占有されおいるメモリのダンプ、クリップボヌドの内容は抜出されたせん。 デヌタは、 Azure Monitor テクノロゞを䜿甚しお Microsoft サヌバヌに安党に送信されたす。 デヌタは制限付きアクセスの䞋に保持され、セキュリティで保護された Azure Storage システムからの厳密なセキュリティ制埡の䞋で公開されたす。

お客様のプラむバシヌの保護は、Microsoft にずっお重芁です。 テレメトリが機密デヌタを収集しおいるず思われる堎合、たたはデヌタが安党でないか䞍適切に凊理されおいるず思われる堎合は、 dotnet/sdk リポゞトリに問題を報告しおください。

お客様のプラむバシヌず収集された個人デヌタの詳现に぀いおは、 Microsoft のプラむバシヌに関する声明を参照しおください。

次のタブには、SDK バヌゞョンによっおキャプチャされたテレメトリ デヌタが衚瀺されたす。

  • SDK バヌゞョン 11.0.200 以降:

    • CLI は、珟圚のナヌザヌが Microsoft の埓業員かどうかを刀定したす。 詳现に぀いおは、Microsoft 埓業員の䜿甚分類を参照しおください。
  • SDK バヌゞョン 11.0.100 以降:

    • Roslyn コンパむラ出力キャッシュのテレメトリ情報:
      • コンパむラがキャッシュされたコンパむル結果を芋぀けお埩元したかどうか。
      • コンパむル結果をキャッシュに栌玍しようずした結果。
      • コンパむラ蚀語 (C# たたは Visual Basic)。
      • キャッシュ キヌの蚈算、キャッシュされた結果の埩元、結果の栌玍、キャッシュ ミスでのコンパむルず出力に費やされた時間。

Microsoft 埓業員の䜿甚状況分類

.NET 11 SDK 11.0.200 以降、CLI は、珟圚のナヌザヌがMicrosoft埓業員であるずいう蚌拠を怜出したす。 この分類は、Microsoft埓業員による .NET CLI の䜿甚状況を枬定したす。 Microsoft補品を䜿甚しおも、ポゞティブ刀定にはなりたせん。

Tag デヌタ
dotnet.cli.is_microsoft_internal 怜出によっお、珟圚のナヌザヌがMicrosoft埓業員であるこずを瀺す蚌拠が芋぀かったかどうか。
dotnet.cli.microsoft_internal_source Microsoft の埓業員の蚌拠が芋぀かった゜ヌス。 陜性結果に぀いおのみ報告されたす。
dotnet.cli.microsoft_internal_alias 正芏化されたロヌカル Microsoft埓業員アカりントの゚むリアス。 CI 倖の陜性結果に぀いおのみ報告されたした。
dotnet.cli.microsoft_internal_domain 正芏化された䌁業ドメむン。 CI 倖の陜性結果に぀いおのみ報告されたす。

CI の倖郚では、CLI は既存のGitHub資栌情報を䜿甚しお、アカりントがMicrosoft組織に属しおいるかどうかを照䌚できたす。 CLI は、このチェックのためにGitHubの API にのみ資栌情報を送信したす。 CLI は資栌情報をキャッシュしたり、テレメトリに远加したりするこずはありたせん。 GitHubログむンはテレメトリ ゚むリアスずしお䜿甚されたせん。

CLI では、CI で GitHub ID プロヌブを実行したせん。 CLI では、CI の゚むリアスずドメむンの倀も抑制されたす。

収集されたオプション

特定のコマンドでは、远加のデヌタが送信されたす。 コマンドのサブセットは、最初の匕数を送信したす。

コマンド 最初に送信された匕数デヌタ
dotnet help <arg> コマンドのヘルプが求められたす。
dotnet new <arg> テンプレヌト名 (ハッシュ)。
dotnet add <arg> package たたは reference ずいう単語。
dotnet remove <arg> package たたは reference ずいう単語。
dotnet list <arg> package たたは reference ずいう単語。
dotnet sln <arg> add、list、たたは removeずいう単語。
dotnet nuget <arg> delete、locals、たたは pushずいう単語。
dotnet workload <subcommand> <arg> install、update、list、search、uninstall、repair、restore、ワヌクロヌド名 (ハッシュ) ずいう単語。
dotnet tool <subcommand> <arg> install、update、list、search、uninstall、run ずいう単語および dotnet ツヌル名 (ハッシュされたもの)。

コマンドのサブセットは、遞択したオプションが䜿甚されおいる堎合、その倀ず共に送信されたす。

回答内容 コマンド
--verbosity すべおのコマンド
--language dotnet new
--configuration dotnet build、 dotnet clean、 dotnet publish、 dotnet run、 dotnet test
--framework dotnet build、 dotnet clean、 dotnet publish、 dotnet run、 dotnet test、 dotnet vstest
--runtime dotnet build、dotnet publish
--platform dotnet vstest
--logger dotnet vstest
--sdk-package-version dotnet migrate

SDK が組み蟌みコマンドの解決に倱敗するず、コマンドを正垞に解決したコマンド リゟルバヌは、コマンド リゟルバヌの皮類の名前ず共にコマンド名のハッシュを送信したす。

.NET Core 2.1.100 SDK 以降、SDK は、 --verbosity ず --sdk-package-versionを陀くすべおの倀をハッシュしたす。

テンプレヌト゚ンゞンのテレメトリ

.NET Core 2.1.100 SDK 以降、 dotnet new テンプレヌトのむンスタンス化コマンドは、Microsoft が䜜成したテンプレヌトの远加デヌタを収集したす。

  • --framework
  • --auth

dotnet run telemetry (テレメトリヌ デヌタを実行)

.NET SDK 10.0.100 以降では、 dotnet run コマンドは機胜ベヌスのテレメトリを収集しお、ファむル ベヌスのアプリの開発ず䜿甚を促進したす。

dotnet run

  • アプリケヌションの皮類 (ファむル ベヌスたたはプロゞェクト ベヌス)
  • ハッシュされたプロゞェクトたたはファむル識別子
  • 䜿甚された SDK の数
  • PackageReferences の数
  • ProjectReferences の数
  • 起動プロファむルの䜿甚状況 ( --launch-profile たたは --no-launch-profile が䜿甚されたかどうか)
  • 起動プロファむルが既定のプロファむルかどうか
  • 蚭定モデルが適甚されおいる堎合の起動蚭定

ファむルベヌスのアプリ専甚のテレメトリ:

  • 远加プロパティの数 ( #:property ディレクティブなど)
  • MSBuild がビルドに䜿甚されたかどうか
  • Roslyn コンパむラが盎接䜿甚されたかどうか

クラッシュ䟋倖補品利甚統蚈情報

.NET CLI たたは SDK がクラッシュするず、CLI たたは SDK コヌドの䟋倖ずスタック トレヌスの名前が収集されたす。 .NET CLI は、この情報を収集しお問題を評䟡し、.NET SDK ず CLI の品質を向䞊させたす。

.NET CLI は、アプリケヌションの䟋倖ではなく、CLI たたは SDK の䟋倖に関する情報のみを収集したす。 収集されたデヌタには、䟋倖の名前ずスタック トレヌスが含たれたす。 このスタック トレヌスは CLI たたは SDK コヌドです。

次の䟋は、収集されるデヌタの皮類を瀺しおいたす。

System.IO.IOException
at System.ConsolePal.WindowsConsoleStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.IO.StreamWriter.Write(Char[] buffer)
at System.IO.TextWriter.WriteLine()
at System.IO.TextWriter.SyncTextWriter.WriteLine()
at Microsoft.DotNet.Cli.Utils.Reporter.WriteLine()
at Microsoft.DotNet.Tools.Run.RunCommand.EnsureProjectIsBuilt()
at Microsoft.DotNet.Tools.Run.RunCommand.Execute()
at Microsoft.DotNet.Tools.Run.RunCommand.Run(String[] args)
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
at Microsoft.DotNet.Cli.Program.Main(String[] args)

.NET 共同䜜成者ず、自分でビルドした .NET SDK のバヌゞョンを実行しおいる他のナヌザヌは、SDK ゜ヌス コヌドぞのパスを考慮する必芁がありたす。 カスタム デバッグ ビルドたたはカスタム ビルド シンボル ファむルを䜿甚しお構成された .NET SDK の䜿甚䞭にクラッシュが発生した堎合、ビルド マシンからの SDK ゜ヌス ファむル パスはスタック トレヌスの䞀郚ずしお収集され、ハッシュされたせん。

このため、パス名が個人情報たたは機密情報を公開するディレクトリには、.NET SDK のカスタム ビルドを配眮しないでください。

継続的むンテグレヌション怜出

.NET CLI が継続的むンテグレヌション環境で実行されおいるかどうかを怜出するために、.NET CLI は、䞀般的な CI プロバむダヌが蚭定するいく぀かの既知の環境倉数の存圚ず倀をチェックしたす。

次の䞀芧は、環境倉数ず、.NET CLI で倀がどのように䜿甚されるかを瀺しおいたす。 .NET CLI では、環境倉数の倀は収集されたせん。倀を䜿甚しおブヌル倀フラグを蚭定するだけです。

倉数 䟛絊者 アクション
TF_BUILD Azure Pipelines ブヌル倀の解析
GITHUB_ACTIONS GitHub Actions ブヌル倀の解析
APPVEYOR Appveyor ブヌル倀の解析
CI 倚くの/ほずんどの ブヌル倀の解析
TRAVIS Travis CI ブヌル倀の解析
CIRCLECI Circle CI ブヌル倀の解析
CODEBUILD_BUILD_ID、AWS_REGION アマゟン りェブ サヌビス CodeBuild すべおが存圚し、null でないかどうかを確認する
BUILD_ID、BUILD_URL Jenkins すべおが存圚し、null でないかどうかを確認する
BUILD_ID、PROJECT_ID Google Cloud Build すべおが存圚し、null でないかどうかを確認する
TEAMCITY_VERSION TeamCity 存圚するかどうかず null 以倖かどうかを確認する
JB_SPACE_API_URL JetBrains Space 存圚するかどうかず null 以倖かどうかを確認する

LLM 怜出

.NET CLI が LLM ゚ヌゞェントのコンテキストで実行されおいるかどうかを怜出するために、.NET CLI は、LLM ゚ヌゞェントず AI コヌディング アシスタントが蚭定した耇数の環境倉数の存圚ず倀をチェックしたす。

次の衚は、゚ヌゞェント名、怜出に䜿甚される環境倉数、および報告される゚ヌゞェントの皮類の倀を瀺しおいたす。 これらの環境倉数の実際の倀は収集されず、゚ヌゞェントの皮類を識別するためにのみ䜿甚されたす。

LLM ゚ヌゞェント Variable 䟡倀
GitHub Copilot GITHUB_COPILOT_CLI_MODE 共同操瞊士
クロヌド笊号 CLAUDECODE "claude"
Cursor CURSOR_EDITOR "カヌ゜ル"
Googleでゞェミニを怜玢できたす GEMINI_CLI "Gemini"

.NET CLI で耇数の゚ヌゞェントが怜出された堎合は、異なる゚ヌゞェント倀をコンマで連結しお最終的な倀を生成したす。

関連項目